在每条json数据后面在追加一个新的字段

在每条json数据后面在追加一个新的字段,第1张

javascript">var a={"data":[{"trs":[{"status":null,"tds":{"wz":{"value":"  is baidu"},"code":{"value":"一"}}}, {"status":null,"tds":{"wz":{"value":"  is jd"},"code":{"value":"5"}}}], "name":"name一","sword":"SwordGrid"}]}var k=a.data[0].trsvar ar=[]for(var i=0i<k.lengthi++){ for(var j in k[i].tds){ if(j=="wz"){ ar.push(k[i].tds[j].value)} } } alert(ar)</script

json 是个字符串  要添加属性 必须先转换为  对象 或者数组

// 题主说 添加属性 那这个json 应该是一个 对象json   

var JsonString = '{"age":1,"name":"tom"}'

// 先要把json 转化为对象

var jsonObj = JSON.parse(JsonString)

// 然后在该对象中添加一个 sex 字段

jsonObj["sex"] = "男"  // 或者  jsonObj.sex = "男"  (如果你添加的字段中有 . - 等特殊字符),就只能使用第一种

// 如果你要使用 直接使用jsonObj 就可以 如果还要转化回去 使用 JSON.prase()方法

JsonString = JSON.prase(jsonObj)

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

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

1 attrs

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

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

2 props

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


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

原文地址: http://outofmemory.cn/bake/11914465.html

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

发表评论

登录后才能评论

评论列表(0条)

保存