JSON解析详细步骤

JSON简介

         JSON(JAVAScript Object Notation),JS对象简谱,是一种轻量级的数据交换格式。

         JSON是目前目前网络中主流的数据传输格式之一,应用十分广泛。        


JSON格式

 对象格式:

        一个对象,由一个大括号表示。括号中 描述对象的属性。通过键值对来描述对象的属性 。(可以理解为,大括号中,包含的是一个个的键值对。)

        键与值之间使用冒号连接,多个键值对之间使用逗号分隔。键值对的值,可以是JS中的任意类型的数据。键值对的键应使用引号引住 (通常Java解析时, 键不使用引号会报错。而JS能正确解析。)


JSON对象格式:
 
{
     "对象名称":"对象信息",
     "对象名称":"对象信息",
     ......
 }



案例:

{
     "name":"张三",
     "age":"18",
     ......
 }

  数组格式:

        在JSON格式中可以与对象相互嵌套。

JSON数组格式:
    
    [元素1,元素2, ... , 元素n]



嵌套案例

    {
                "name":"张三",
                "age":18,
                "friend":["李四","王二","麻子",{
                    "name":"坤坤",
                    "info":"篮球打得特别好"
                }],
                "game":{
                    "name":"撸啊撸",
                    "hero":"压缩"
                }
        }

Gson与FastJson     

        

Gson

        google开发的JSON类库

        解析:

              1、 将对象转换为JSON字符串    

1.  引入Gson的JAR包

2.  在需要转换JSON字符串的位置编写如下代码即可:
    String json = new Gson().toJSON(要转换的对象);
   


案例:
      Gson g = new Gson();
      Book b = new Book();
      String json = g.toJson(b);
      System.out.println(json);

                2、将JSON字符串转换为对象

      

1.  引入Gson的JAR包

2.  在需要转换JSON字符串的位置编写如下代码即可:
    对象 = new Gson().fromJson(JSON字符串,对象类型.class);
   
案例:

      String json = "{\"name\":\"百年孤独\",\"info\":\"伟大的作品\"}";
      
      Book book = new Gson().fronJson(json,Book.class);

      System.out.println(book);

       

FastJson

        阿里巴巴开发的JSON类库

        解析:

        1、 将对象转换为JSON字符串    


 1.  引入FastJson的JAR包
 
 2.  在需要转换JSON字符串的位置编写如下代码即可:
    String json=JSON.toJSONString(要转换的对象);
   
案例:
  
    Book b = new Book();
    String json=JSON.toJSONString(b);
    System.out.println(json);

        2、将JSON字符串转换为对象

1.  引入FastJson的JAR包
  
2.  在需要转换Java对象的位置, 编写如下代码:
   
    类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

或者
    
    List<类型> list=JSON.parseArray(JSON字符串,类型.class);



案例:
  
    String json = "{\"name\":\"百年孤独\",\"info\":\"伟大的作品\"}";
    Book book = JSON.parseObject(json, Book.class);
    System.out.println(book);


    List<String> list = JSON.parseArray("[\"123\",\"345\",\"567\"]",String.class);
    System.out.println(list.get(0));

上一篇:Gson 和 json util工具类的编写总结


下一篇:Json字符串与Java对象的相互转换