【发布时间】:2016-11-13 17:34:42
【问题描述】:
我有 JSON 字符串由 Android 应用程序发布到我基于 PHP 的苗条框架。
这是 JSON:
ItemList=[{"Address":"addresses 263838","CreatedDate":"2016-11-11 11:53:53","DeviceID":"1","ID":0,"Latitude":24.8715396,"Locality":"locality","Longitude":67.0898003,"Name":"Item ","OfflineId":20161111115352400,"Subchannel":"Subchannel","Sublocality":"Sublocality","ToUpdate":false,"imageLocalPath":"/storage/emulated/0/Pictures/1478847221674.jpg"},{"Address":"address","CreatedDate":"2016-11-11 17:46:41","DeviceID":"1","ID":0,"Latitude":24.87110129,"Locality":"Locality","Longitude":67.09033959,"Name":"Item 23","OfflineId":20161111174637550,"Subchannel":"Subchannel","Sublocality":"Sublocality","ToUpdate":false,"imageLocalPath":"/storage/emulated/0/Pictures/1478868360328.jpg"},{"Address":"Address 648483","CreatedDate":"2016-11-12 09:43:54","DeviceID":"1","ID":0,"Latitude":24.87952002,"Locality":"Locality","Longitude":67.09332882,"Name":"Item 25","OfflineId":20161112094353314,"Subchannel":"Subchannel","Sublocality":"Sublocality","ToUpdate":false,"imageLocalPath":"/storage/emulated/0/Pictures/1478925794392.jpg","imageName":"1478925794392.jpg"}]
Slim 框架 (PHP) 代码
$app->post('/itemlist', function ($request, $response) {
$input = $request->getParsedBody();
foreach($input as $item)
{
$sql = "INSERT INTO jsondump (jsondata) VALUES (:jsondump)";
$resQur = $this->db->prepare($sql);
$resQur->bindParam("jsondump", $item);
$resQur->execute();
}
return $this->response->withJson($input);
});
问题/挑战: JSON 对象列表应分解为 JSON 对象。目前我正在将 JSON 直接转储到数据库中以查看结果。它总是转储整个 JSON 字符串(包含整个列表)。
【问题讨论】:
-
使用
json_decode然后循环遍历它。 -
那么如何循环。我发现使用 foreach 有困难。没有得到预期的结果。
-
您应该使用 foreach 循环遍历它,然后使用特定的键来获取该键的数据。请提供您已完成的代码以及您遇到问题的位置。