Javascript 需要访问二级json字段,但代码仅为一级设置
我试图将标识符传递给函数,以访问这个(非常简化的)json quote对象中的字段“yrhiprice”:Javascript 需要访问二级json字段,但代码仅为一级设置,javascript,json,Javascript,Json,我试图将标识符传递给函数,以访问这个(非常简化的)json quote对象中的字段“yrhiprice”: quote: { "last": "49.65", "FundamentalData": { "yrhiprice": "49.77000" } } 我要传递给的函数(我无法编辑)根据我放入表格单元格的数据字段访问这些字段: <td data-field="last"></td> 所
quote: {
"last": "49.65",
"FundamentalData": {
"yrhiprice": "49.77000"
}
}
我要传递给的函数(我无法编辑)根据我放入表格单元格的数据字段访问这些字段:
<td data-field="last"></td>
所以,我有一个相当荒谬的问题:有没有办法进入“YRIPPRICE”领域,即使它只会被放在第一组括号中
我试过“FundamentalData[“yrhiprice”]、“FundamentalData.yrhiprice”和“FundamentalData][yrhiprice”,但都没有成功
非常感谢!如果您无法编辑函数且
基本数据.yrhiprice
不起作用,您可以将对象展平,以便将yrhiprice
属性复制到一个级别。显然,这仅在需要复制的所有属性名称都是唯一的情况下才起作用,但即使在这种情况下,您也必须小心在属性前面加上前缀或后缀,使其具有唯一性
因此,如果您有一个quote
对象,您可以:
myQuote.FundamentalData_yrhiprice = myQuote.FundamentalData.yrhiprice;
然后:
<td data-field="FundamentalData_yrhiprice">
quote.FundamentalData.yrhiprice
和quote.last
应该可以正常工作。console.log()
?难道“FundamentalData][yrhiprice”
不是“FundamentalData”[“yrhiprice”
?尽管这是一种愚蠢的方式。谢谢你的回复!我不能console.log()任何因为我不能编辑javascript的内容,只要传递数据字段属性中的内容即可。@Andy:为什么不能编辑javascript?即使你可以访问托管.js
文件的服务器,你也可以内联一个替换函数。“”基要数据”[“yrhiprice”我试着用转义符来打破引号,但没有成功——我猜是因为它只是把整个事情当作一个字符串来读?是的,这是一种非常愚蠢的方式,但这正是我目前所坚持的。。。
<td data-field="FundamentalData_yrhiprice">
var name = "FundamentalData";
var val = quote[name];
val = val.yrhiprice; //"49.77000"