更改没有键名的json值
Posted
技术标签:
【中文标题】更改没有键名的json值【英文标题】:Change json value without name of key 【发布时间】:2019-09-02 18:35:13 【问题描述】:我正在使用编辑器数据表来创建我的网站。在将数据发送到表之前,我需要在客户端更改一个值。
当我点击提交按钮时,我会发送一个像 o.data.row_360.vinculos.salario
这样的 json 对象
我想做:o.data.row_360.vinculos.salario /= 100
将值除以 100。
这个很简单,但是我不知道第三个键(row_360)是什么,但它是随机的,比如:o.data.row_25.vinculos.salario
、o.data.row_44.vinculos.salario
等
当我更改值而不知道第三个键名称是什么时,例如o.data.???.vinculos.salario
?
【问题讨论】:
o.data
有多少个键?只有一个还是有其他的?如果有多个,您要访问的有什么区别?
@Phil o.data 只有一个键
【参考方案1】:
你可以使用下面的 sn-p 让它工作,
const o =
data:
row_25:
vinculos:
salario: 2000
var d = o.data;
for(let prop in d)
if(d[prop].vinculos)
d[prop].vinculos.salario /= 100;
break;
console.log(o)
【讨论】:
我把你的答案变成了一个可运行的sn-p,希望你不要介意【参考方案2】:由于o.data
中只有一个键,您可以使用Object.values()
检索一组值并访问第一个值,无需知道键
const o =
data:
mystery_key:
vinculos:
salario: 2000
Object.values(o.data)[0].vinculos.salario /= 100
console.info(o)
【讨论】:
对我来说太快了以上是关于更改没有键名的json值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用json方法解析android中没有键名的数组内的嵌套json编码数组?