就像标题所说,我正在尝试获取仅包含一个对象的 JSON 数组的一些值。我需要解析组件内部的所有内容才能使用这些值。我终于需要 TAG、NAME 和 COMM 的值。
这是开始的情况。我有这个:
{ "site": "Dimension", "data": [ { "TAG": "DimTime", "NAME": "Zeit", "COMM": "Zeitdimension", "$$index": 1 } ] }
然后我使用以下方法分解该对象:
currentObject['data']
我得到了:
[ { "TAG": "DimTime", "NAME": "Zeit", "COMM": "Zeitdimension", "$$index": 1 } ]
但我现在正在尝试找到一个解决方案来获取 TAG、NAME 和 COMM 的值。问题是我总是在 json 数组“data”中有一个对象。或者也许可以去掉外括号?
你们有什么想法吗?
最佳答案
您说您需要值 TAG、NAME 和 COMM,但您不确定如何执行此操作、将数据转换为对象或保留数组。好吧,这实际上取决于您:)但是让我们以您的示例数据为您提供两个选项:
“数组选项”:
currentObject['data'] = [{"TAG":"DimTime","NAME":"Zeit","COMM":"Zeitdimension","$$index":1} ]
在您看来,您可以使用数组中的第一个对象(您唯一的对象)输出值。
{{currentObject['data'][0].TAG}}
{{currentObject['data'][0].NAME}}
{{currentObject['data'][0].COMM}}
如果你想将数据转换为对象,也可以,你可以使用Object.assign。这至少会让你的代码变得更短;)
dataObj = Object.assign({}, currentObject['data'][0]);
然后在您的 View 中可以显示:
{{dataObj.TAG}}
{{dataObj.NAME}}
{{dataObj.COMM}}
如果你喜欢,
您可以阅读有关 Object.assign here 的更多信息
工作 plunker
关于angularjs - Angular 2 获取 JSON 数组中单个条目的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811199/