【发布时间】:2018-02-27 23:50:36
【问题描述】:
我有以下代码:
$option = $this->request->post['option'];
var_dump($option);
echo "<br>";
var_dump(json_decode($option));
转储显示:
string(118) "{'product_option_id':276, 'product_option_value_id':132, 'name':'Цветове', 'value':'Бял', 'type':'select'}"
还有第二个(json_decode):
NULL
为什么无法解析字符串?
编辑: 现在我的 json 看起来像这样:
string(205) "{"product_option_id": 280, "product_option_value_id": 133, "name": "Цветове", "value": "Бежов", "type": "select"}"
我将这个添加到我的代码中:
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
我返回语法错误,格式错误的 JSON
【问题讨论】:
-
问题:您使用的是什么字符编码方案?如果不是 UTF-8 可能是您的问题。