Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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
如何在PHP中创建json文件_Php_Json - Fatal编程技术网

如何在PHP中创建json文件

如何在PHP中创建json文件,php,json,Php,Json,我需要从头创建一个JSON文件,该文件如下所示 { "results": { "course": "CC167", "books": { "book": [ { "-id": "585457", "-title": "Beginning XNA 20 game programming : from novice to professional", "-isbn": "1590599241", "-borrowedcount"

我需要从头创建一个JSON文件,该文件如下所示

{
 "results": {
  "course": "CC167",
  "books": {
   "book": [
    {
      "-id": "585457",
      "-title": "Beginning XNA 20 game programming : from novice to professional",
      "-isbn": "1590599241",
      "-borrowedcount": "16"
    },
    {
      "-id": "325421",
      "-title": "Red Hat Linux 6",
      "-isbn": "0201354373",
      "-borrowedcount": "17"
    },
    {
      "-id": "424317",
      "-title": "Beginner's guide to darkBASIC game programming",
      "-isbn": "1592000096",
      "-borrowedcount": "46"
    },
    {
      "-id": "437390",
      "-title": "Objects first with Java : a practical introduction using BlueJ",
      "-isbn": "0131249339",
      "-borrowedcount": "89"
    },
    {
      "-id": "511094",
      "-title": "Objects first with Java : a practical introduction using BlueJ",
      "-isbn": "2006044765",
      "-borrowedcount": "169"
    }
   ]
  }
 }
}
这是我用来制作的PHP,所以希望这不是一个很大的飞跃,但我不能从零开始在PHP中创建JSON对象,只能创建类似的东西,然后自己保存为JSON

$y = 1;
    $json = "{";
    $json = $json . "\"results\": {";
    $json = $json . "\"course\": \"$cc\",";
    $json = $json . "\"books\": {";
    $json = $json . "\"book\": [";
    foreach ($my_array as $counter => $bc) {
        $json = $json . "{";
        $json = $json . "\"-id\": \"$id[$counter]\",";
        $json = $json . "\"-title\": \"$title[$counter]\",";
        $json = $json . "\"-isbn\": \"$isbn[$counter]\",";
        $json = $json . "\"-borrowedcount\": \"$borrowedcount[$counter]\"";
        $json = $json . "}";
        if ($x != $y) $json = $json .  ",";
        $json = $json . "";
        $y++;
    }
    $json = $json . "]";
    $json = $json . "}";
    $json = $json . "}";
    $json = $json . "}";
    echo $json;
试试这个:

$array       = array("test"=>"value");

$json_string = json_encode($array);
参考:

试试这个:

$array       = array("test"=>"value");

$json_string = json_encode($array);

Ref:

您可以使用

例如,这将生成类似于上面json的内容(稍微减少)


尝试通过手动字符串连接(如在当前代码中)生成json是个坏主意,因为很难避免语法错误,并且需要转义json的动态部分。json_encode会自动为您进行转义。

您可以使用

例如,这将生成类似于上面json的内容(稍微减少)


尝试通过手动字符串连接(如在当前代码中)生成json是个坏主意,因为很难避免语法错误,并且需要转义json的动态部分。json_encode会自动为您进行转义。

您用来创建它的PHP在哪里?至于在PHP中创建JSON,请看。您不会创建“JSON对象”并对其进行操作,而是以JSON的形式输出数据。JSON_encode()只需谷歌…@mpm我们有usenet新闻组、bbs,必须尝试,然后失败,再试一次等等:)您使用的PHP版本是什么?当
json.*
可用时,您不需要使用这种讨厌的语法。您用来创建它的PHP在哪里?至于在PHP中创建JSON,请看。您不会创建“JSON对象”并对其进行操作,而是以JSON的形式输出数据。JSON_encode()只需谷歌…@mpm我们有usenet新闻组、bbs,必须尝试,然后失败,再试一次等等:)您使用的PHP版本是什么?当
json\u*
可用时,你不必使用这种讨厌的语法。这会将一小部分编码到一个节点中(不知道json终端是什么,我更了解XML)我需要制作一部有很多节点的电影,这就是我发现的问题,我可以写一行,但是我找不到任何方法来构建一个完整的文档。这会将一小部分编码到一个节点中(Iunno什么是JSON终端,我更了解XML)我需要创建一个有很多节点的电影,这就是我发现的问题,我可以做一行,但是我找不到任何方法来构建一个完整的文档。很好,答案跟在原始问题中的字段名称后面,但是@Craig Weston我想知道,为什么你在book字段前面加上连字符?在Javascript中,属性名以连字符开头是非常罕见的,这使得无法使用点语法(例如,您必须执行
book['-id']
而不是
book.id
)数组(“-id”=>“585457”、“-title”=>“开始XNA 20游戏编程:从新手到专业人士”、“-isbn”=>”1590599241“,“-borrowedcount”=>“16”)“是唯一的问题,因为可能只有一个条目或加载,我如何向其中添加更多数组,并确保它们的位置正确>@Craigwston我已更新答案,以显示添加第二个图书条目。所有这些都不是特定于创建json的,它只是标准的PHP数组创建。json_encode()只是将嵌套数组结构复制为json字符串。很高兴答案跟在原始问题中的字段名称后面,但是@Craig Weston我想知道,为什么在book字段前面加上连字符?在Javascript中,属性名以连字符开头是非常罕见的,这使得无法使用点语法(例如,您必须执行
book['-id']
而不是
book.id
)数组(“-id”=>“585457”、“-title”=>“开始XNA 20游戏编程:从新手到专业人士”、“-isbn”=>”1590599241“,“-borrowedcount”=>“16”)“是唯一的问题,因为可能只有一个条目或加载,我如何向其中添加更多数组,并确保它们的位置正确>@Craigwston我已更新答案,以显示添加第二个图书条目。所有这些都不是特定于创建json的,它只是标准的PHP数组创建。json_encode()只是将嵌套数组结构复制为json字符串。