我在下面试图访问JSON。在不使用eval的情况下在Javascript中访问嵌套的JSON元素
{
"orders": {
"errorData": {
"errors": {
"error": [
{
"code": "ERROR_01",
"description": "API service is down"
}
]
}
},
"status": "fail"
}
}
我希望能够以声明常量来引用JSON由于该结构可以改变,我不希望被重新分解访问所有的地方。说,我想访问“状态”键,并使用我的常量。数据引用JSON对象。我可以尝试(这是打字稿):
public static STATUS : string = "data["orders"]["status"]";
var status_value = STATUS;
的问题是,这仅仅是分配字符串状态变量“STATUS_VALUE”,实际上没有计算它。我可以在STATUS上调用eval,但是我想避免这种情况。我知道有一个循环的答案,但它似乎有点过度杀人,因为我将遍及所有代码访问它。 (这是一个角2应用程序,所以很多后端调用和解析JSON)
我可以写循环函数作为常量并调用它?任何建议都会很棒,因为我是Javascript的新手。
为什么不只是'data ['order'] ['status']'?我不明白你的用例。也许你有合法的理由,但我不明白。为什么它需要是一个字符串,为什么你必须评估字符串?你为什么不能通过你想要的对象/值? – BotNet
我想将访问放在一个地方,并不知道通过的对象。由于存在不同的服务和组件,因此多个打印文件需要访问。答案是一个文件导出一个类,我可以导入到其他类的静态方法。 –