{title:'Alan', hasChild:true},
{title:'Alice', hasDetail:true},
{title:'Amos'},
{title:'Alonzo'},
{title:'Brad'},
{title:'Brent'},
{title:'Billy'},
{title:'Brenda'},
{title:'Callie'},
{title:'Cassie'},
{title:'Chris'},
这是我的JSON响应数据,现在我如何将Header label
附加到每个数据的第一项。有些东西会让我区分出这些是A,这些是B.
更改的响应应如下所示。
{title:'Alan', hasChild:true, header:'A'},
{title:'Alice', hasDetail:true},{title:'Alexander'},
{title:'Amos'},
{title:'Alonzo'},
{title:'Brad', header:'B'},
{title:'Brent'},
{title:'Billy'},
{title:'Brenda'},
{title:'Callie', header:'C'},
{title:'Cassie'},
{title:'Chris'},
答案 0 :(得分:2)
您引用的代码/标记不是JSON。 (JSON要求属性名称用双引号,并且字符串文字用双引号。)它看起来像是JavaScript数组文字中间的摘录,其中每个数组条目都由对象文字定义。 E.g:
var people = [
{title:'Alan', hasChild:true},
{title:'Alice', hasDetail:true},
{title:'Amos'},
{title:'Alonzo'}
];
我认为在你的问题中,你在第一版和第二版之间做了两件事:
header
属性。如果您对这些文字定义的数组有引用,则可以轻松添加属性(上面的#1):
people[0].header = 'A';
在数组中位置header
的对象上创建一个新属性0
。
JavaScript还有一个插入数组的函数,称为splice
,可以用来插入到中间的数组中(上面的#2):
people.splice(2, 0, {title: 'Alexander'});
即:从索引2
(“Amos”条目)开始,删除0
元素,然后插入此元素。这种变化已经到位。
如果你拥有的是一个包含JSON的字符串,那么添加它就是字符串解析和拼接练习,或者将JSON反序列化为对象,将属性添加到对象,以及重新序列化它再次出现在JSON上。
以上是有效JSON格式的上述数组示例:
[
{"title":"Alan", "hasChild":true},
{"title":"Alice", "hasDetail":true},
{"title":"Amos"},
{"title":"Alonzo"}
]
就像它出现在以JSON格式存储的文件中一样,或者在线上。如果在程序代码中的字符串文字中,当然需要使用该语言的相应字符串文字形式,并为双引号进行必要的转义 - 如果有的话。例如,JSON为JavaScript字符串文字:
var jsonString = '[' +
'{"title":"Alan", "hasChild":true},' +
'{"title":"Alice", "hasDetail":true},' +
'{"title":"Amos"},' +
'{"title":"Alonzo"}' +
']';