Javascript

JSON解析

本文主要是介绍JSON解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一:简介:JSON:  全称JavaScript  object  Notation   ,JS对象简谱,是一种轻量级  数据交换格式 

二:对象格式:

1.一个对象, 由一个大括号表示。括号中 描述对象的属性通过键值对来描述对象的属性

(可以理解为, 大括号中, 包含的是一个个的键值对.)

2.格式:

键与值之间使用冒号连接, 多个键值对之间使用逗号分隔。

键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)

键值对的值, 可以是JS中的任意类型的数据

示例:

{
     "name":"clk",
     "age":"20",
     "sex":"man"
}

3.在JSON格式中可以与对象相互嵌套:

例子:

{
      "name":"clk",
      "age":"20",
      "subject":["Java","OS","COA",{
                       "Cname":"高等数学",
                       "info":"比数学更高等的数学"
               }],
      "hobby":["看小说","听音乐","学java"]
}

三:Java与JSON:

java中的对象可以快速转换为JSON格式的字符串。

JSON格式的字符串可以转换为java的对象。

1.Gson:

(1)将对象转换为JSON字符串:

步骤:

(i)引入JAR包

(ii)在需要转换JSON字符串的位置编写如下代码:

String json = new Gson().toJSON(需要转换的对象)

例子:

Book b = new Book();
b.setName="金苹果";
b.setInfo="苹果种植很辛苦";
String json = new Gson().toJson(b);
System.out.println(json);

(2)将JSON字符串转换为对象

(i)引入JAR包

(ii)在需要转换java对象的位置,编写如下代码:

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

例子:

String json = "{\"name\":\"clk\",\"subject\":[\"java\",\"os\",\"coa\"],\"sex\":\"man\"}";
Student stu = new Gson().fromJson(json,Student.class);
System.out.println(book);

2.FastJson

(1)将对象转换为JSON字符串

步骤:

(i)引入JAR包

(ii)在需要转换JSON字符串的位置编写如下代码:

//String json = JSON.toJSONString(需要转换的对象);

例子:

Book book = new Book();
book.setName = "金苹果";
book.setInfo = "苹果种植很辛苦";
String json = JSON.toJSONString(book);
System.out.println(json);

(2)将JSON字符串转换为对象

步骤:

(i)引入JAR包

(ii)在需要转换JSON字符串的位置编写如下代码:

//类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
//List<类型> list=JSON.parseArray(JSON字符串,类型.class);

例子:

List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
System.out.println(strings.get(1));//输出二三四


Book b = new Book("唐诗三百首","1001");
String json = JSON.toJSONString(b);
System.out.println(json);

这篇关于JSON解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!