首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为标题的JSON添加值

为标题的JSON添加值
EN

Stack Overflow用户
提问于 2014-01-30 21:46:25
回答 3查看 1.6K关注 0票数 0

我在堆栈中搜索了很多,谷歌试图找到答案,这似乎很容易,但我仍然坚持它。

我编写了一个代码,用我想要的值对json进行编码。我想给JSON添加一个键/值

JSON如下所示

代码语言:javascript
复制
    {
   - files: [
      {
        title: "works",
       - tracks: [
           {
             title: "File",
             format: "mp3"
           }
        ]
      },
   -{
       title: "season1",
       tracks: [
         {
             title: "Button-1",
             format: "wav"
         },
   -{
        title: "Beep-9",
        format: "wav"
     }
    ]
   }
  ]
}

我想将一个键及其开头的值作为标题文件下的属性添加到json中,我的意思是可以通过代码将其读取为

jsonfiles

我试着像这样设定这个值

$json‘new_value’= "new_value";

但这会导致将数字添加到json中的数组中,我不知道它们为什么编号

这个数字影响了我在iOS应用程序中将json作为iOS的阅读方式,因此,我希望您能提前感谢我。

EN

回答 3

Stack Overflow用户

发布于 2014-01-30 21:55:16

假设要添加的新值因文件不同而有所不同,则需要遍历$json[files]并按键/值对插入它们。

代码语言:javascript
复制
<?php

for($i=0; $i<count($json); $i++)
    $json[files][$i]["new_key"] = "value";

?>
票数 0
EN

Stack Overflow用户

发布于 2014-01-30 22:05:23

出现数字的原因是在数组中添加了一个键(在JS中,数组的功能或多或少是一个列表)。因此,在您将对象“文件”作为对象列表之前,与任何其他JS数组一样,对象是零索引的。当您添加密钥时,JS只需将您的键添加到当前键的末尾(在您的示例中为0和1)。

看起来你有一个多媒体对象列表,每个对象都有一个标题和一个曲目列表。解决问题最直接的方法如下:

代码语言:javascript
复制
$fileItem['title'] = 'works';
$fileItem['tracks'] = array(
    array(
        'title' => 'File',
        'format' => 'mp3'
    )
);
$json['files'][] = $fileItem;

$fileItem['title'] = 'season1';
$fileItem['tracks'] = array(
    array(
        'title' => 'Button-1',
        'format' => 'wav'
    ),
    array(
        'title' => 'Beep-9',
        'format' => 'wav'
    )
);
$json['files'][] = $fileItem;

然后,您可以像往常一样对它进行编码并返回它。您也可以将上面的内容放在一个循环中。我缺乏足够的背景来推荐具体的方法。

票数 0
EN

Stack Overflow用户

发布于 2014-01-30 22:11:50

我仍然不确定您到底拥有什么,但似乎您正在试图操纵json字符串。

如果操作正确,这可能是最有效的解决方案,但您还可以做的是:

  • 使用json_decode从json字符串生成一个数组;
  • 找到要添加数据的正确区段/子数组;
  • 使用array_unshift预置新的键值对;
  • 使用json_encode从完整的数组生成json字符串。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21468071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档