JSON(JavaScript Object Notation, JS 对象简称) 是一种轻量级的数据交换格式!
JSON 语法规则:
- 大括号 {} 保存对象
- 中括号 [] 保存数组,数组可以包含多个对象
- JSON 数据的书写格式是:key : value
JSON 对象格式:
{
"people": [
{ "name":"zhangsa", "number":"13144444444"},
{ "name":"zhangwu", "number":"13155555555"},
{ "name":"zhangsi", "number":"13166666666"}
]
}
访问 name = zhangsa :
people[0].name
people[0]['name']
(JS)JSON对象和JSON字符串的转换
JSON是以字符串的形式传递的,而JS操作的是JSON对象
JSON 字符串:var jsonStr ='{"name":"Liza", "password":"123"}';
1、 JSON字符串转化 JSON对象
var jsonObject= JSON.parseJSON(jsonstr);
2、 JSON对象转化 JSON 字符串
var jsonstr =JSON.stringify(jsonObject );//JSON转化为字符串可以用JSON.stringify() 方法
JS遍历JSON对象
var packJson = {"name":"Liza", "password":"123"} ;
//遍历packJson 对象的每个key/value对,k为key
for(var k in packJson ){
alert(k + " " + packJson[k]);
}
JAVA解析JSON
let json ={"name":"zhangsan"};
java: public People{
public String name;
//setter
//getter
public People(String name){
this.name = name
}
}
Json=>Java 对象,使用JSONObject
JSONObject jsonObject=JSONObject.fromObject(json );
People PEOPLE=(People)JSONObject.toBean(jsonObject, People.class);
Java =>Json对象
People people = new People();
people.setName("zhangsan");
==
JSONObject peopleObjJson= JSONObject.fromObject(people);
String peopleJson=peopleObjJson.toString();
==>{"name":"zhangsan"};
List=>Json
List : List peopleList = new ArrayList();
peopleList.add(new People("zhangsan"));
peopleList.add(new People("zhangsi"));
Json : JSONArray peopleListArray=JSONArray.fromObject(peopleList);
System.out.println("peopleListArray:"+peopleListArray.toString());
==>peopleListArray :[{"name":"zhangsan"},{"name":"lisi"}]
Json=>List
String jsonList = "[{\"name\":\"zhangsan\"},{\"name\":\"lisi\"}]";
List<People> peopleList=(List<People>)JSONArray.toList(JSONArray.fromObject(jsonList), People.class);
//遍历
Iterator iterator = peopleList.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
==>{"name":"zhangsan"}
{"name":"lisi"}
Map=>Json
Map map = new HashMap();
map.put("name","zhansgan");
map.put("name","lisi");
JSONObject mapObject=JSONObject.fromObject(map);
System.out.println("mapObject"+mapObject.toString());
==>mapObject:{"name":"zhangsan"},{"name":"lisi"}
Json=>Map
String jsonMap= "[{\"name\":\"zhangsan\"},{\"name\":\"lisi\"}]";
Map map = JSONObject.parseObject(jsonMap);