如何使用json和php


How to use json and php

我是JSON的新手,但我有PHP方面的经验。有人能向我解释一下JSON是如何工作的吗。

EX:我有一个php数组,比如:

array(
    array('id' => 1, 'img' => "http.img1.png", 'title' => 'ice cream'),
    array('id' => 2, 'img' => "http.img2.png", 'title' => 'silly snail'),
    array('id' => 3, 'img' => "http.img3.png", 'title' => 'big bear'),
    array('id' => 4, 'img' => "http.img4.png", 'title' => 'Funny cat'),
);

这样可以吗,还是我应该更改这个数组?我想将其转换为JSON对象。在php数组中应该有一个父数组吗?我必须将数组元素分配为子数组吗?或者每个php-obj都可以是它自己的JSON obj吗?非常感谢。

只需对要转换为json字符串的变量运行json_encode。

$something = array("test" => array("value", "another value", 4));
echo json_encode($something)

这将产生

{"test":["value","another value",4]}

此外,将该字符串放入$something = json_decode("{"test":["value","another value",4]}");将生成返回到json_encode的相同数组。

请注意,JSON不是一种编程语言;它是表示对象的一种方式。http://json.orgJSON的主要组件是数组(用[]包围)和对象(用{}包围)。数组是逗号分隔的值列表(请参阅json.org了解如何告诉它类型……这很简单),而对象是键:值对在每对之间用逗号分隔,它们的键是一个用引号包围的字符串。上面我创建了一个Object,它有一个名为"test"的键,它的值是一个数组,里面有两个字符串和一个数字

使用json_encode()对数组进行编码,使用json_decode()返回数组。