JSON是指javascript对象表示法,文本格式在语法上与创建javascript对象相同,是一种存储和交换文本信息的语法!。
简单了解一下json语法。
实例:
{"id":"1","name":"菜鸟"}
{
"person":[
{"id":"1","name":"菜鸟"}
{"id":"2","name":"大鸟"}
]
}
json文本格式在语法上与创建javascript对象相似。所以在javascript中使用无需解析器。
JSON的perse()
函数能够将json字符串转化为javascript对象.
var data = ‘{"person" : [‘
+‘{"id":"1","name":"菜鸟"}‘
+‘,{"id":"2","name":"大鸟"}‘
+‘]}‘;//data为一个字符串,具有json的格式。
var obj=JSON.parse(data);//转化
document.write(obj.person[0].id+" "+obj.person[0].name);
document.write(obj.person[1].id+" "+obj.person[1].name);
输出如下
1 菜鸟2 大鸟
JSON的stringify()
函数用于将avascript值转化为json字符串.
var person={"id":"1","name":"菜鸟"};//创建对象
var ob=JSON.stringify(person);//转化为json字符串
document.write(ob);
输出如下
{"id":"1","name":"菜鸟"}
java使用json需要引用json库,可以使用fastjson作为解析工具。
下载地址github地址,可以下载fastjson的jar包,以及一些帮助。
本人java的json理解较弱,具体参考:菜鸟教程
这里只给出一个实例。
import java.util.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
public class Person {
@JSONField(name="name" )
private String name;
@JSONField(name="id" )
private String id;
public Person() {}
public Person(String id, String name) {
super();
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String toString() {
return "id:"+id+"\tname:"+name;
}
public static void main(String[] args) {
List<Person>list=new ArrayList<Person>();
list.add(new Person("1","菜鸟"));
list.add(new Person("2","大鸟"));
String jsonOutput=JSON.toJSONString(list);
System.out.println(jsonOutput);
JSONArray array=JSONArray.parseArray(jsonOutput);
List<Person>newList=array.toJavaList(Person.class);
for(Person e:newList) {
System.out.println(e.toString());
}
}
}
输出如下
[{"id":"1","name":"菜鸟"},{"id":"2","name":"大鸟"}]
id:1 name:菜鸟
id:2 name:大鸟
总结:学会了json一些简单使用,想着下一步要将其应用在前后端的传输上,试一试。
原文:https://www.cnblogs.com/508335848vf/p/13081116.html