json对象详解

例子:let abc={a:1,b:2,c:3};

  • json对象的增加元素:abc.d=4;
  • json对象的删除元素:delete abc[d];
  • json对象的批量赋值:
let abc={a:1,b:2,c:3};
Object.assign(abc,{a:11,b:22});  
{a: 11, b: 22, c: 3}; 

json的方法:

  • JSON.stringify()
console.log(JSON.stringify(abc,["a"]))
{"a":1}

:对数组无效

JSON.stringify({a:1,b:2}, function(key, value){
  if (typeof value === "number") {
    value = 2 * value;
  }
  return value;    
})
// "{"a":2,"b":4}"
  • toJSON
var d=new Date();
var n=d.toJSON();
//toJSON() 方法可以将 Date 对象转换为字符串,并格式化为 JSON 数据格式。
  • JSON.parse
JSON.parse('{"a":1,"b":2}', function(key, value) {}

json对象和json数组

json对象

//把一个json字符串或者map集合转换为jsonobject 
 jsonobject json = JSONObject.fromObject(obejct);
//获取jsonobejct中的属性    
 Object obj = jsonobject.get("key");  
//获取key对应的值,还有getString("key"),getDouble("key")等
//添加jsonobject中的属性    
Object obj = jsonobject.put("key", object) 
//删除jsonobject中的属性    
Object obj = jsonobject.remove("key");
//判断jsonobject中是否有某个属性  
Boolean flag = jsonobject.containsKey("key");

把json对象转换成字符串 :String str = jsonobject.toString();
把json对象转换成map集合 :Map map = (Map)JSONObject;
获取json中的属性个数 : int size = jsonobejct.size();


JSON数组

把一个json字符串数组转换为jsonarray:

JSONArra array=JSONArray.fromObject(arrayStr/map);

获取jsonarray中的某个对象jsonobject : jsonobject = array.get(index);

  • 添加一个元素 :boolean flag = array.add(object);
  • 删除一个元素:booelan flag = array.remove(index);
  • 转换为字符串 :toString();
  • 遍历每一个元素
    可以使用iterator遍历,与list一致,或者通过size()循环
  • 转换成list集合
List list = Arrays.asList((Object []) object);
  • 获取数组中的个数 :int size = array.size();
  • 遍历json对象
  • for-in
myJson = {"name":"caibaojian", "password":"1111"};
 
for(var p in myJson){//遍历json对象的每个key/value对,p为key
 
alert(p + " " + myJson[p]);
  • $.each()
$.each(json, function(i) {
    alert(json[i]); //Coding, 100
    alert(i);       //Type, Height
});
  • Object.keys(options)
const keys= Object.keys(options);  //只获取json对象的属性key,返回一个存所有key的数组
输出对象中值大于2的key的数组
var data = {a: 1, b: 2, c: 3, d: 4};
Object.keys(data).filter(function(x) { return data[x]>2 ;})
输出:[“c”,”d”]
  • 数组过滤:filter
var arr = ['A', 'B', 'C'];
var r = arr.filter(function (element, index, self) {}

你可能感兴趣的:(json对象详解)