新辦法更通用:json新包統(tǒng)一用.fromObject( )方法轉(zhuǎn)json狮崩,需要用json.lib包如:
JSONObject json=JSONObject.fromObject(data);
通過 $.parseJSON 轉(zhuǎn)換為json數(shù)組
JSONSerializer.toJSON(heros)把集合轉(zhuǎn)換為JSON字符串
1.需要先導(dǎo)入json的jar包
- map轉(zhuǎn)json:
Map<String,String> map=new HashMap<>();
map.put("s01", "zs");
map.put("s02", "ls");
map.put("s03", "ww");
JSONObject json=new JSONObject(map);
System.out.println(json);
結(jié)果:{"s02":"ls","s01":"zs","s03":"ww"}
3.b.javabean(普通對象 Person)轉(zhuǎn)json鹿霸、字符串轉(zhuǎn)json
同樣用JSONObject
private static void demo02() {
Person per=new Person();
per.setName("zs");
per.setAge(23);
Address address=new Address("西安","北京");
per.setAddress(address);
//Person(JavaBean)->json
JSONObject json=new JSONObject(per);
System.out.println(json);
//{"address":{"schoolAddress":"北京", "homeAddress":"西安"},
// "name":"zs",
// "age":23}
}
private static void demo03() {
String str="{\"s02\":\"ls\",\"s01\":\"zs\",\"s03\":\"ww\"}";
JSONObject json=new JSONObject(str);
System.out.println(json);
} //{"s02":"ls","s01":"zs","s03":"ww"}
4.json轉(zhuǎn)json文件
用 json.write( )方法洒琢。
private static void demo03() throws JSONException, IOException {
//準(zhǔn)備json數(shù)據(jù)(map->json)
Map<String,Person> map=new HashMap<>();
Person p1=new Person(23,"zs",new Address("xa","bj1"));
Person p2=new Person(24,"ls",new Address("xaq","bj2"));
Person p3=new Person(25,"ww",new Address("xa2","bj3"));
map.put("zs", p1);
map.put("ls", p2);
map.put("ww", p3);
//map->json
JSONObject json=new JSONObject(map);
//生成json文件
FileWriter fw=new FileWriter("C:\\Users\\zjh\\Desktop\\圖片素材\\hello.txt");
json.write(fw);
fw.close();
}
//輸出結(jié)果:
{"ww":{"address":{"schoolAddress":"bj3","homeAddress":"xa2"},
"name":"ww",
"age":25},
"zs":{"address":{"schoolAddress":"bj1","homeAddress":"xa"},
"name":"zs",
"age":23},
"ls":{"address":{"schoolAddress":"bj2","homeAddress":"xaq"},
"name":"ls",
"age":24}}