Json

作者: javaMonkey | 来源:发表于2017-01-16 19:54 被阅读0次

    //////////2016-12-26 ~ 2017-1-9///////////

    int study_data(){

    字符集和字符编码

    字符集:字符的组合

    字符编码方式:把字符映射成二进制数字的过程

    常见编码方式:ASCII,UTF-8,GB2312,GBK

    乱码问题:编码方式和解码方式不匹配

    JSON

    JavaScript的对象表示法(JavaScript Object Notation)

    JSON是存储和交换文本信息的语法,类似XML

    JSON比XML更小,更快,更易解析

    什么是JSON:

        1.JSON指的是JavaScript的对象表示法(JavaScript Object Notation)

        2.JSON是轻量级的文本数据交换格式

        3.JSON独立于语言(JSON解析器和JSON库支持许多不同的编程语言)

        4.JSON具有自我描述性,更易理解

    JSON与XML的区别:

        1.没有结束标签

        2.更短

        3.读写速度更快

        4.能够使用内建的JavaScript eval()方法进行解析

        5.使用数组

        6.不使用保留字

    JSON语法规则:

        1.数据在名称/值对中

        2.数据由逗号分隔

        3.花括号保存对象

        4.方括号保存数组

    JSON值:

        1.数字(整数或浮点数)

        2.字符串(在双引号中)

        3.逻辑值(true或false)

        4.数组(在方括号中)

        5.对象(在花括号中)

        6.null

    把JSON字符串转换为JavaScript对象的方法:

        1.

        //由JSON字符串转换为JSON对象

        var obj = eval('(' + str + ')');

        或者

        var obj = str.parseJSON(); 

        或者

        var obj = JSON.parse(str); 

        然后,就可以这样读取:

            Alert(obj.name);

            Alert(obj.sex);

        注:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

        2.

        //将JSON对象转化为JSON字符

        var last=obj.toJSONString(); 

        或者

        var last=JSON.stringify(obj); 

        alert(last);

    注意:

        上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明json包版本太低。

    GSON

    Gson是一个Java类库,用于将Java对象转换为它们所代表的JSON数据,也可以用于将一个JSON字符串转换为对应的Java对象。

    Gson的目标为:

        1. 提供像toString()和构造方法(工厂方法)一样简单使用的机制来将Java对 象转换为JSON或者反过来将JSON转换为Java对象。

        2. 允许将已经存在并且不可修改的对象转换JSON,或者反过来。

        3. 允许为对象自定义映射关系。

        4. 支持任意复杂的对象。

        5. 生成紧凑又易读的JSON输出。

    一般要使用Gson工具,需要创建一个Gson对象,然后进行相应的操作。并且可以重用同一个Gson对象进行多次Json序列化和反序列化操作。

    例如:

    Gson gson = new Gson();

    也可以使用GsonBuilder这个类,它允许使用参数(例如版本控制等等)来才创建一个Gson实例。

    例如:

    Gson gson = new GsonBuilder().setVersion(1.0).create();

    对于使用者来说,只需要调用Gson类的toJson与fromJson方法,便可以轻松实现序列化与反序列化的操作。

    相关文章

      网友评论

          本文标题:Json

          本文链接:https://www.haomeiwen.com/subject/snupbttx.html