首页

Java中JSON文档解析

前端达人

1.JSON是什么?

  1. JSON的全称为JavaScript Object Notation ,也就是JavaScript对象标记法。
  2. JSON是一种轻量级的数据交换格式,用于两个程序之间的数据交换,类似于XML文档。

2.JSON对象格式

使用JSON表示一个对象的格式:

{
    "属性名1":"属性值1",
    "属性名2":"属性值2",
    ......
    "属性名":"属性值n"
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意事项

  • 一个对象整体由一个大括号表示
  • 对象的属性,是由一个个键值对组成
  • 键值对的键与值之间应该使用冒号隔开,而不同键值对之间需要使用逗号隔开
  • 键与值最好都使用双引号,值可以是JavaScript中的任何一种数据类型

示例

{
    "name":"金苹果",
    "info":"讲述了种植苹果的辛酸历程"
}  
  • 1
  • 2
  • 3
  • 4

3.JSON数组表示

JSON中的数组使用 [ ] 表示,并且数组可以跟对象互相嵌套

格式:

[元素1,元素2...]  
  • 1

示例:

数组包含对象

 ["张三","李四",{
        "name":"王五",
        "info":"一个在技术上使劲钻研的人"
    }]  
  • 1
  • 2
  • 3
  • 4

对象包含数组:

{
    "name":"李小超",
    "friend":["张三","李四",
              {
                "name":"王五",
                "info":"一个在技术上使劲钻研的人"
            }
             ]
    "info":"一个非常帅气的人"
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

对象与对象的嵌套:

{
    "name":"李小超",
    "project":{
        "school":"HPU",
        "name":"computer"
    }
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.JSON的解析

1. 使用Gson解析JSON文件

  1. 将Java对象转换为JSON字符串

    String json = new Gson().toJSON(要转换的对象);  
            
    • 1

    代码示例:

    Book b = new Book("金苹果","讲述了种植苹果的辛酸路程"); String str = new Gson().toJson(b);  
            
    • 1
    • 2
  2. 将JSON字符串转换为Java对象

    对象 = new Gson().fromJson(JSON字符串,对象类型.class);  
            
    • 1

    代码示例:

    1. 将JSON字符串转换为Java对象
     Book b2 = new Gson().fromJson(str, Book.class); System.out.println(b2.getName());  
            
    • 1
    • 2
    1. 将JSON字符串转换为Java集合
    String js = "{\"name\":\"金苹果\",\"info\":\"讲述了种植苹果的辛酸历程\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\"]}"; HashMap data = new Gson().fromJson(js,HashMap.class); System.out.println(data.get("page").getClass()); /*
        输出结果:class java.util.ArrayList
    */  
            
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    我们在写JSON字符串的时候,需要注意使用转义字符转换双引号,另外,如果键值对的值是JSON数组,那么对应数组在转换之后的类型是ArrayList

2. 使用fastJson解析JSON文件

使用fastJSON解析与Gson十分相似,不过前者使用的是静态方法。

  1. Java对象转换为JSON字符串

    String json=JSON.toJSONString(要转换的对象);  
            
    • 1
  2. JSON字符串转换为Java对象

    类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
    或者
    List<类型> list=JSON.parseArray(JSON字符串,类型.class);  
            
    • 1
    • 2
    • 3

    示例:
    转换为Java对象

     Book b2 = JSON.parseObject(json1,Book.class);  
            
    • 1

    转换为List集合

    List list = JSON.parseArray(json1,String.class);  
            
    • 1

    在这里进行说明一下,我们观察JSON.parseArray()的源码可以看到,这个方法的返回值就是一个List类型的数据,我们向方法中传递的第二个参数是List元素所属的类型。


    蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

    文章来源:csdn

    分享此文一切功德,皆悉回向给文章原作者及众读者.
    免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

    蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务



谷歌团队新产品PRIMER设计思路过程:如何通过设计简化学习过程?

用心设计

操作面板的重要性毋庸置疑,因为那是人们打开应用首先看到的东西。我们花了数月的时间,反复迭代绘制不同操作面板的原型。我们有许多想法:课程包,让用户从3个随机课程中选择,事件相关的课程话题,或是为与我们有合作的专家和品牌创造特殊组件。可能性总是无穷无尽。

如何通过设计让学习不那么令人厌烦?-NVA

日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档