json是一种轻量级的前端后端以及网络传输的数据交换格式,就是一串字符
串,只不过元素会使用特定的符号标注。 {} 双括号表示对象,[] 中括号表示数
组,”” 双引号内是属性或值,: 冒号表示后者是前者的值(这个值可以是字符
串、数字、也可以是另一个数组或对象)。也就是说在后端可以把一个字符串,
然后通过json来转换成特定的字符串传到前端去
json的几种格式
a.一个JSON对象——JSONObject
简单点的:var json={"name":"张三" , "age":18 };
复杂一点的:var json={"name":"张三", "age"=18,"address":{"street":"湖南", "city":长沙","country":"中国"}};
b.一个JSON数组——JSONArray
简单点的:
var json=[{"name":"张三" , "age":18 },{"name":"李四" , "age":20 }];
复杂一点的:
[
{"name":"张三", "age"=18, "address":{"street":"湖南", "city":"长 沙","country":"中国"}},
{"name":"李四", "age"=20, "address":{"street":"湖南", "city":"张家 界","country":"中国"}}
]
c.还有一种结构
var json={"abc":[{"name":"txt1"},{"name","txt2"}]};
1.下载以下相关jar包
2.加载包:
commons-beanutils-1.9.3.jar,commons-collections-3.2.2.jar,
commons-lang-2.6.jar,commons-logging-1.2.jar,ezmorph-1.0.6.jar,
json-lib-2.4-jdk15.jar,commons-io-2.6.jar
3.将javaBean和Map转换成Json
Person person = new Person("mb", 12);
//JSONObject json = new JSONObject();
//javaBean-->json
//json = json.fromObject(person);
Map<String,String> map = new HashMap<>();
map.put("name", "mxb");
JSONObject js = new JSONObject();
js = js.fromObject(map); //Map-->json
4.利用commons.io-jar中的FileUtiles将文件转换为字符串
String str=FileUtils.readFileToString(
new File("C:\\Users\\痛吻\\eclipse-workspace\\TestJson\\src\\lll\\per.json"));
JSONObject j = new JSONObject();
j = j.fromObject(str);
5.Map–>json文件
Map<String, Person> map = new HashMap<>();
Person p1 = new Person("zs", 21);
Person p2 = new Person("ls", 22);
Person p3 = new Person("ww", 23);
map.put("zs", p1);
map.put("ls", p2);
map.put("ww", p3);
//map-->json
JSONObject json = new JSONObject();
json=json.fromObject(map);
//生存json文件
Writer writer = new FileWriter("D:\\p.txt");
json.write(writer);//将内容写入p.txt
writer.close();//关闭流
6.jsonArray:
[ {"name":"zs","age":"21"},{"name":"ls","age":"33"} ]
String jsonArray = "[{\"name\":\"zs\",\"age\":\"21\"},{\"name\":\"ls\",\"age\":\"33\"}]";
//String格式的字符数组-->json数组
JSONArray array = new JSONArray();
array = array.fromObject(jsonArray);