这是所需的输出(以JSON格式)
{
response: {
code: "400",
total_results: "100",
listings: [
{
"title": "My First Application",
"imgage": "image1.jpg"
},
{
"title": "My second Application",
"imgage": "image1.jpg"
},
]
}
}
我存储了允许状态代码等的response
,而实际列表就是数据。我正在构建一个移动应用程序,所以我希望能够放置:data.title
,data.image
。
这是我到目前为止(在PHP中):
$response = array("response" =>
array(
"code" => "400",
"total_results" => "100",
"listings" => array("title" => "My first listing", "image" => "image1.jpg"),
),
);
然而这是错误的,因为它不允许我有多个商家信息,也不允许我(在应用内)引用title
和image
。
有人可以建议我如何做到这一点,以便正确格式化数据吗?
答案 0 :(得分:3)
您只需要将列表设为多维数组:
$response = array("response" =>
array(
"code" => "400",
"total_results" => "100",
"listings" => array(
(object) ["title" => "My first listing", "image" => "image1.jpg"],
(object) ["title" => "My second listing", "image" => "image1.jpg"]
),
),
);
我已将列表中的数组作为对象进行投射,就像您的JSON结构所暗示的那样。
答案 1 :(得分:1)
尝试上课:
class Item{
public $title;
public $image;
function __construct($title, $img){
$this->title = $title;
$this->image = $img;
}
}
所以现在你可以这样做:
$response = array("response" =>
array(
"code" => "400",
"total_results" => "100",
"listings" => array(new Item("My first listing","image1.jpg"),new Item("My second listing","image2.jpg"))
),
);
答案 2 :(得分:0)
无论如何你决定(并且,正如你所看到的,“有不止一种方法可以做到这一点......”),底部你需要“数组数组”。 (或者,在其他一些语言中可能会称之为“struct
的数组......)
JSON将有义务对任何 PHP数据结构进行编码和解码。 “获得正确的数据结构”,JSON将自行处理。
答案 3 :(得分:-2)
使用此阵列您尝试: $ json_response = json_encode($ response);