javascript通过拼接从json数据里获取特定内容

1.这是我的json字符串

https://img1.mukewang.com/5c7f34e60001d52203670318.jpg

2.我的需求
通过类似 jsonStr"综合指数分析"["预测模型"] 获取json字符串中的数字串,由于我想动态获取jsonStr中的内容,比如需要"趋势图"的“0000000000”时就拼接出
jsonStr["综合指数分析"]["趋势图"].

3.我的代码

https://img2.mukewang.com/5c7f34f30001017e07840568.jpg

4.如同3中有一行注释有5个问号,请问如何解决这个需求?

我需要做成比递归遍历更加灵活的操作,就是比如需要哪个数据直接就是哪个数据。

我是把json数据做成了菜单,点击菜单就直接获取那个菜单的数据。比如点击"预测值",

然后就从json数据里拿到"预测值"的"2222222"。我一直认为要从json里拿到

"预测值"的"2222222",需要先知道"预测值"的父级"预测分析"和"综合指数分析",

然后通过jsonStr["综合指数分析"]["预测分析"]["预测值"]获取到数据"2222222"。

请问这个思路对吗?有更好的思路吗?


BIG阳
浏览 1263回答 2
2回答

繁星淼淼

&nbsp; function getJsonStr(jsonStr,arr) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var i = 0; i < arr.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jsonStr =jsonStr[arr[i]];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return jsonStr;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }str+='["'+arr[i]+'"]';这样子是获取不到数据的

大话西游666

简单点就用evalvar arr = { "name": "zhangsan" }var str = "arr['name']"console.log(eval(str))function _eval(str) {&nbsp; &nbsp; return new Function("return " + str)()}console.log(_eval(str))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript