Evaluate Json-嵌套的Json路径以字符串形式提供

Evaluate Json - nested JSON path is provided as string

本文关键字:字符串 路径 Json- 嵌套 Json Evaluate      更新时间:2023-09-26

我有一个字符串,它携带嵌套JSON对象的路径:

var path = 'p_Data[0]["BusinessUnit"][0]["BusinessUnit"]' 

如何评估该路径中的JSON?现在我使用

eval(path)

我知道使用eval是不好的。如何在不使用eval的情况下做到这一点?

您可以使用DefiantJS(http://defiantjs.com)它使用"search"方法扩展了全局对象JSON。使用这种方法,您可以使用XPath表达式搜索JSON结构,类似于以下内容:

JSON.search( data, '//p_Data[0]/BusinessUnit[0]/BusinessUnit' );

由于没有JSON结构的示例,上面的建议可能会起作用。如果您发布您的结构示例,我可以提供我的建议的JSFiddle版本。

要了解XPath的工作原理,请查看以下XPath计算器工具:
http://defiantjs.com/#xpath_evaluator