json动态添加数据

json动态添加数据,第1张

向json中添加数据 var json = {}json.name="test"上面的代码就会在json这个对象中添加了一个数据 向数组中添加数据 var array = new Array()var obj = new Object()obj.name="test"array.push(obj)这里是添加的一个对象,你也可以直接添加一些字符串等类型的数据

2013-04-01 *

1、遍历 json 对象的属性

//定义json对象 var person= { name: 'zhangsan', pass: '123', fn: function(){ alert(this.name+"的密码="+this.pass)} } //遍历person属性包括方法,如果不想显示出方法,可用typeof(person[item])== "function"来判断 for(var item in person){ alert("person中"+item+"的值="+person[item]) }

2、动态为 json对象 添加属性

需要 使用1中的 person对象

var copyPerson={} //创建copyPerson对象,将person中的属性包括方法copy给该对象 for(var item in person){ copyPerson[item]= person[item] //这样循环就可以将person中的属性包括方法copy到copyPerson中了 } for(var item in copyPerson){ alert("copyPerson中"+item+"的值="+person[item]) }

注意:使用 Ext.apply(copyPerson, person) 也可以 将person中的所有属性包括方法 copy到 copyPerson中

3、遍历 普通js对象的 属性

//定义一个普通的js类,包含方法 var p= function (){ this.name= '李四' this.pass= '456' this.fn= function(){alert(this.name+"的密码="+this.pass) } } var pp= new p() //生成一个p类的对象 pp for(var item in pp){ //遍历pp对象中的属性,只显示出 非函数的 属性,注意不能 遍历 p这个类 if(typeof(pp[item])== "function")continue alert("p对象中"+item+"的属性="+pp[item]) }

普通的 js对象 也可以copy,copy方法和 2.动态为 json对象 添加属性 思路一样。

有时候我们需要在不改变类的属性字段的情况下,添加字段,Jackson提供了@JsonAppend注解来实现这个功能,使用方式如下

通过上面的例子可以看到,@JsonAppend提供了两种方式来动态的添加虚拟字段

1 attrs

此种方式需要在序列化时候手动的添加Attribute,如下

om.writerFor(CombineJacksonAnnotation.JsonPropertyPojo.class).withAttribute("age","10").withAttribute("height","12")

2 props

此种方式比较灵活,但是要实现一个VirtualBeanPropertyWriter类即可,如果真的有这种需求,推荐使用第二种方式来实现


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11744485.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存