您的位置:科技频道 > 科学 > 正文

什么是JSON通俗解释 如何将JSON字符串解析成java对象

来源:时代新闻网 时间:2022-11-24 16:58:49
1、什么是JSON

(1)JSON(Java Script Object Notation)是一种轻量级的数据交换语言,以文本字符串为基础,且易于让人阅读。(注意:XML就是一个重量级的数据交换语言)

(2)和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度,

(3)JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言

(4)JSON就是一串字符串 只不过元素会使用特定的符号标注。

2、JSON语法

(1){} 双括号表示对象

(2)[] 中括号表示数组

(3)"" 双引号内是属性或值

(4): 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

(5),逗号用来分隔属性或者对象

3、将一个对象构建成json数据

对象:属性:name=张三,sex=男,age= 20,score=78

(1)一个对象的json表示:

{“name”:”张三”,”sex”:”男”,”age”:20,”score”:78}

Student stu1 = new Student("张三", "男", 19, 78.5);

String js = JSON.toJSONString(stu1);

System.out.println(js);

结果:

(2)两个对象用一个数组表示,json表示为:

[{“name”:”张三”,”sex”:”男”,”age”:20,”score”:78},{“name”:”张三”,”sex”:”男”,”age”:20,”score”:78}]

Student stu1 = new Student("张三", "男", 19, 78.5);

Student stu2 = new Student("李四", "女", 21, 89);

Student[] stus = {stu1, stu2};

String js = JSON.toJSONString(stus);

System.out.println(js);

结果:

4、将JSON字符串解析成java对象

(1)json字符串装换成单个对象

String js = "{\"age\":19,\"name\":\"张三\",\"score\":78.5,\"sex\":\"男\"}";

Student stu = JSON.parseObject(js, Student.class);

System.out.println(stu);

注意:字符串里的双引号要用转义符"\"转义。

结果:

(2)json字符串转换为list集合

String js = "[{\"age\":19,\"name\":\"张三\",\"score\":78.5,\"sex\":\"男\"},{\"age\":21,\"name\":\"李四\",\"score\":89,\"sex\":\"女\"}]";

List list = JSON.parseArray(js, Student.class);

list.forEach(e -> System.out.println(e));

结果:

(3)json字符串转换为JSONArray集合

String js = "[{\"age\":19,\"name\":\"张三\",\"score\":78.5,\"sex\":\"男\"},{\"age\":21,\"name\":\"李四\",\"score\":89,\"sex\":\"女\"}]";

JSONArray parseArray = JSON.parseArray(js);

for(int i = 0; i < parseArray.size(); i++) {

JSONObject jsObj = parseArray.getJSONObject(i);

String name = jsObj.getString("name");

System.out.println(name);

}

结果:

精彩推送

公司

吉卜力工作室如今已加入到主题公园的浪潮,并于11月1日正式对公众开放全球首个项目,将《龙猫》等经典作品的场景复原至现实世界。对于吉卜

详细>>

随着在线旅游企业数量的不断增多,售卖不合理低价旅游产品、违规利用用户个人信息等问题也时有发生。11月1日,文旅部发布《文化和旅游部关

详细>>

两个小时,这是越南全国首票榴莲从装车到运送至我国广西崇左友谊关口岸的时间。得益于一体化供应链,2021年,中国与越南进出口贸易额达到23

详细>>

11月1日,北京商报记者梳理发现,截至9月末,10家A股上市农商行资产规模均有所扩大,重庆农商行、上海农商行仍以万亿元总资产位居前列。营

详细>>

西贝餐饮集团(以下简称西贝)在儿童餐的道路上越走越深。11月1日,北京商报记者从西贝获悉,其将推出西贝儿童餐零售产品。目前,部分西贝门

详细>>

新一期麻辣粉和逆回购操作如期公布。9月15日,央行发布消息称,为维护银行体系流动性合理充裕,开展4000亿元中期借贷便利(MLF)操作和20亿元

详细>>