欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA WEB——JSON入门

程序员文章站 2022-03-10 08:23:12
...
  1. 什么是JSON
    JSON是JavaScript Object Notation缩写,即JavaScript对象表示法,是一个轻量级的文本数据交互格式,独立于语言,具有自我描述性,更易于理解。

  2. JSON的语法规则
    数据由键(key)/值(value)描述,由逗号分隔;
    大括号代表一个完整的对象,拥有多个键/值对;
    中括号保存数据,多个对象之间使用逗号分隔。
    例如:

{
"sites":[
{"name":"a","url":"www.a.com"},
{"name":"b","url":"www.b.com"},
{"name":"c","url":"www.c.com"}
]
}
  1. JavaScript与JSON的交互
    在html或jsp中直接加入< script >代码块,在其中定义var json等于上述代码,即可通过遍历输出。
    JSON.parse()方法用于将字符串转换为json对象;
    JSON.stringify()方法将json对象转换为字符串。

例如以下代码可以在浏览器输出班级名称。

var str="{\"class_name\":\"五年级三班\"}";
var json=JSON.parse(str);
console.log(json);
console.log(str);
document.write("班级:"+json.class_name);

JS中也可以通过先定义再设置的方式操作JSON对象,例如:

var json2={};
json2.class_name="五年级三班";
json2.floor="逸夫楼四层";
json2.teacher="王老师";
  1. JSON对象的序列化与反序列化
    利用FastJSON可以实现对象的序列化与反序列化。
    JSON.toJSONString(obj)可以将obj对象序列化为一个json格式的字符串,同时可以采用json注解的方式设置序列化格式,如@JSONField(name=“xxxx”,format=“xxxx”)设置这一项的名称及格式,@JSONField(serialize=false)设置这一项不参与序列化,该方法同样适用于数组;
    JSON.parseObject(String str, class c)可以将字符串str反序列化成c类的对象,数组反序列化用JSON.parseArray()。