2
我有携带嵌套JSON对象的路径的字符串:评估JSON - 嵌套的JSON路径是作为字符串
var path = 'p_Data[0]["BusinessUnit"][0]["BusinessUnit"]'
如何在这条道路评估JSON?现在我用
eval(path)
我知道使用eval是不好的。如何在不使用eval的情况下做到这一点?
我有携带嵌套JSON对象的路径的字符串:评估JSON - 嵌套的JSON路径是作为字符串
var path = 'p_Data[0]["BusinessUnit"][0]["BusinessUnit"]'
如何在这条道路评估JSON?现在我用
eval(path)
我知道使用eval是不好的。如何在不使用eval的情况下做到这一点?
您可以使用使用方法“search”扩展全局对象JSON的DefiantJS(http://defiantjs.com)。使用这种方法,你可以用XPath表达式,这样的搜索您的JSON结构:
JSON.search(data, '//p_Data[0]/BusinessUnit[0]/BusinessUnit');
由于没有例如JSON结构,建议上述可能的工作。如果您发布了您的结构示例,则可以提供我的建议的JSFiddle版本。
要获得的XPath如何工作的想法,看看这个XPath计算器工具:
http://defiantjs.com/#xpath_evaluator
* EVAL *仅*邪恶*当使用不必要,因为它比其他形式的索引慢。鉴于选择器eval的格式似乎是一个合理的解决方案。如果可能的话,我实际上会替换你的路径系统,但这似乎不太可能。 –
与[上一个问题]有什么区别(http://stackoverflow.com/questions/18269046/how-to-replace-eval-to-update-value-in-json-when-json-path-is-pro-disable -as字符串)?另外,正如我对你的另一个问题所评论的那样,没有这样的“JSON路径”,你的问题与JSON无关。 –
@FelixKling我不wana使用eval() – Okky