我有这个json_encode
数据:
{\"MOT:D44-538JK\":{\"productid\":\"MOT:D44-538JK\",\"qty\":\"1\"}}
当我在上面的字符串上使用json_decode
时,它无效。任何人都可以协助需要传递的参数。
答案 0 :(得分:1)
您的数据已经编码。
php > var_dump(json_decode("{\"MOT:D44-538JK\":{\"productid\":\"MOT:D44-538JK\",\"qty\":\"1\"}}", true));
array(1) {
'MOT:D44-538JK' =>
array(2) {
'productid' =>
string(13) "MOT:D44-538JK"
'qty' =>
string(1) "1"
}
}
答案 1 :(得分:1)
JSON无法验证。在此测试:http://jsonlint.com 这样做,所以斜线需要去。
{
"MOT:D44-538JK": {
"productid": "MOT: D44-538JK",
"qty": "1"
}
}
答案 2 :(得分:0)
删除" \"来自jsonstring
<?php
$c = '{"MOT:D44-538JK":{"productid":"MOT:D44-538JK","qty":"1"}}';
$r = json_decode($c);
echo "<pre>";
print_r($r);
?>
答案 3 :(得分:0)
我认为你的JSON有填充。请删除填充然后进一步处理:
$json=preg_replace('/.+?({.+}).+/','$1',$json);
// now, process the JSON string
$result = json_decode($body);
答案 4 :(得分:0)
试试这个
$Json = '{"MOT:D44-538JK":{"productid":"MOT:D44-538JK","qty":"1"}}';
$jsonDec = json_decode($Json, true);
var_dump($jsonDec);
OUTPUT像这样:
array (size=1)
'MOT:D44-538JK' =>
array (size=2)
'productid' => string 'MOT:D44-538JK' (length=13)
'qty' => string '1' (length=1)