JSON字符串转化为Map数组的两种方式
Json定义:JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 [“java”,“javascript”,“vb”,…],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
详情见:https://www.json.cn/wiki.html
String json = "{
"animals": {
"dog": [
{
"name": "Rufus",
"age":15
},
{
"name": "Marty",
"age": null
}
]
}
}";
方式一:
Map<key,Object> map = (Map<key, Object>) JSON.parse(json);
方式二:
Map<Key,Object> map = JSONArray.parseObject(json, Map.class);
使用sharePreference存储集合:可以转换成JSON字符串进行存储。
String json = JSON.toJSONString(object);//object 为任意对象,集合类型也可以。
String json = JSONArray.toJSONString(list);
- JSON对象取出方式
取出集合或单一对象均可:使用所有对象,包括集合类型
Object obj = JSON.parse(json);// 可以采用方式一 Object 也可以为任意类型,集合也可以。
取出单一对象:使用于所有对象,但只限于单个对象,不能取出对象集合。
Object obj = JSON.parseObject(json,Object.class);
取出集合:通过parseArray才可以取出同一类型的对象集合。
List<Object> list = JSON.parseArray(json,Object.class);
List<Object> list = JSONArray.parseArray(json,Object.class);
List<Object> list = (List<Object>)JSONArray.parse(json);//同 方式一