如何在php中将json对象转换为数组?

时间:2019-05-10 22:26:07

标签: php arrays json

我有这个JSON

[size: null, color: "white"]

通过post方法发送到服务器。

我尝试

$your_json_string = json_decode($your_json_string, TRUE)

$your_json_string = html_entity_decode($your_json_string);
$your_json_string = json_decode($your_json_string, true);
  • 使用print_r($your_json_string);,我得到: null
  • 使用echo json_last_error();,我得到: 4

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:0)

1)是json数组[],而不是对象{}。 2)它会要求引用属性名称。

$String = <<< LOL
{"size": null, "color": "white"}
LOL;

print_r(json_decode($String,TRUE));

那么你就得到

Array
(
    [size] =>
    [color] => white
)

答案 1 :(得分:0)

如果您输入的json字符串错误,并且您不知道它将如何在php中将json转换为数组。下面的示例:

$string = '{test ing,test ingredients,test ingredients3,test ingredients4,test ingredients5}';

修剪您的json字符串并删除不需要的数据。

    $string = ltrim($string, '{');
    $string = rtrim($string, '}');

从字符串中删除逗号并获取正常的php数组

    $newSting = explode(',', $string);

现在您可以遍历数据

foreach ($newSting as $key => $value) {
        echo $value;
    }