Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将标签追加到JSON响应_Javascript_Json - Fatal编程技术网

Javascript 将标签追加到JSON响应

Javascript 将标签追加到JSON响应,javascript,json,Javascript,Json,这是我的JSON响应数据,现在我如何将标题标签添加到每个数据的第一项。有些东西会让我分辨出这些是A,这些是B 更改后的响应应如下所示。 {title:'Alan', hasChild:true}, {title:'Alice', hasDetail:true}, {title:'Amos'}, {title:'Alonzo'}, {title:'Brad'}, {title:'Brent'}, {title:'Billy'}, {title:'Brenda'}, {titl

这是我的JSON响应数据,现在我如何将
标题标签添加到每个数据的第一项。有些东西会让我分辨出这些是A,这些是B

更改后的响应应如下所示。

{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要求属性名用双引号括起来,字符串文字用双引号括起来。)它看起来像是JavaScript数组文字中间的摘录,其中每个数组条目都由对象文字定义。例如:

  {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'}, 
我认为在你的问题中,你在第一个版本和第二个版本之间做了两件事:

  • 您已经在第一个条目(“Alan”)(以及“Brad”和“Callie”)中添加了
    标题
    属性
  • 您在“Alice”和“Amos”之间添加了一个新的“Alexander”条目
  • 如果您有一个对这些文字定义的数组的引用,那么您可以很容易地添加属性(#1):

    var people = [
        {title:'Alan', hasChild:true},
        {title:'Alice', hasDetail:true},
        {title:'Amos'},
        {title:'Alonzo'}
    ];
    
    这将在数组中位置
    0
    处的对象上创建一个新属性
    header

    JavaScript还具有插入到一个被调用的数组中的功能,它可以用来插入中间数组(上面的2):

    也就是说:从索引
    2
    (“Amos”条目)开始,删除
    0
    元素,然后插入这个元素。改变已经到位

    如果您拥有的实际上是一个包含JSON的字符串,那么添加到该字符串中要么是字符串解析和拼接练习,要么是将JSON反序列化到对象中,将属性添加到对象中,然后再次将其重新序列化为JSON


    以下是上述有效JSON格式的数组示例:

    people.splice(2, 0, {title: 'Alexander'});
    
    这与以JSON格式存储的文件或网络上显示的一样。如果在程序代码中的字符串文字中,它当然需要采用该语言的适当字符串文字形式,并对双引号进行必要的转义(如果有)。例如,JSON作为JavaScript字符串文本:

    [
        {"title":"Alan", "hasChild":true},
        {"title":"Alice", "hasDetail":true},
        {"title":"Amos"},
        {"title":"Alonzo"}
    ]
    

    如果您的意思是在客户端,只需在数组上迭代并在运行时添加属性。如果没有,你需要提供更多的细节,那不是JSON。它似乎缺少方括号,后面有一个逗号,在值周围有错误的引号,在键周围没有引号。在我看来不像JSON。此外,您建议的输出在语义上似乎非常可疑。如果有的话,每个字段中都应该有
    标题
    字段,但我真的看不出这有什么意义。信息已经存在:作为每个
    标题的第一个字母。
    
    [
        {"title":"Alan", "hasChild":true},
        {"title":"Alice", "hasDetail":true},
        {"title":"Amos"},
        {"title":"Alonzo"}
    ]
    
    var jsonString = '[' +
        '{"title":"Alan", "hasChild":true},' +
        '{"title":"Alice", "hasDetail":true},' +
        '{"title":"Amos"},' +
        '{"title":"Alonzo"}' +
    ']';