[英]I am getting error Illegal string offset 'requestId'
我使用 API ,它在我的 json url 中返回一些数据:
这是实际的网址数据:
data={%22requestId%22%3A%22546b384ce51f469a2e8b4567%22%2C%22numbers%22%3A{%22917566559950%22%3A{%22date%22%3A%222014-11-18+17%3A45%3A59%22%2C%22status%22%3A1%2C%22desc%22%3A%22DELIVERED%22}}}
我的 PHP 代码用于将数据插入数据库但出现错误:
$request = $_REQUEST["data"];
$jsonData = json_decode($request,true);
$link = mysqli_connect("127.0.0.1", "root", "", "table");
foreach($jsonData as $key => $value)
{
$requestID = $value['requestId'] ;
$userId = $value['userId'];
$senderId = $value['senderId'];
foreach($value['report'] as $key1 => $value1)
{
//detail description of report
$desc = $value1['desc'];
// status of each number
$status = $value1['status'];
// destination number
$receiver = $value1['number'];
//delivery report time
$date = $value1['date'];
$query = "INSERT Query for store record ";
mysqli_query($link, $query);
}
}
这里的问题是什么错误是警告:第 11 行的非法字符串偏移量 'requestId' 警告:非法字符串偏移量 'userId' ..... 请解决它....
TLDR;
You should remove the foreach($jsonData as ...) around your code.
您正在使用它的键对这个关联数组进行 foreaching:
{
"requestId":"546b384ce51f469a2e8b4567",
"numbers":{
"917566559950":{
"date":"2014-11-18 17:45:59",
"status":1,
"desc":"DELIVERED"
}
}
}
第一次迭代时,键是“requestId”,值字段是“546b384ce51f469a2e8b4567”。 在第二轮你得到“数字”和上面的数组。
$requestID = $jsonData['requestId'];
var_dump($requestID); // the requestID
// foreaching in the assoc array inside the 'numbers'
foreach ($jsonData["numbers"] as $key => $value) {
// description
$desc = $value['desc'];
// status of each number
$status = $value['status'];
// date
$date = $value['date'];
var_dump($key); // the key with 917...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.