【问题标题】:How to parse JSON data in PHP (double quote and slash headache)如何在 PHP 中解析 JSON 数据(双引号和斜线头疼)
【发布时间】:2016-02-12 18:13:36
【问题描述】:

我使用 POST Web 服务从 Java 将其发送到 PHP

{"Laptop":{"product_brand":"dd","product_desc":"xx","product_graphics":"nVidia 2GB"}}

在 PHP 中我得到..

print_r($_POST['laptop']);

我的 JSON 是..

{\"Laptop\":{\"product_brand\":\"dd\",\"product_desc\":\"xx\",\"product_graphics\":\"nVidia 2GB\"}}

如何获得 (product_brand) 的价值..我尝试了所有其他问题的答案,但没有运气。

当我尝试获取值时,它会显示 T_string 或 T_variable 或 'subObject' 错误。

$jsonStr = json_decode(str_replace('\"','"',$_POST['laptop']));

那么接下来要做什么……

我想在 PHP 中使用 SQL 查询的值。

我的 JSON 中没有数组。

谢谢。

【问题讨论】:

  • json_decode() 没有帮助?
  • php.net/manual/en/function.stripslashes.phpjson_code() 之前或在 php.ini 中关闭 magic_quotes_gpc
  • 我用过..$jsonStr = json_decode(str_replace('\"','"',$_POST['laptop'])) ...那么下一步是什么..
  • 当我使用此代码时,不能使用 stdClass 类型的对象作为数组--> echo $jsonStr->Laptop->product_brand;
  • 得到了我的答案...$jsonStr = json_decode(str_replace('\"','"',$_POST['laptop'])); echo $jsonStr->Laptop->product_brand; 谢谢..所有反对票都禁止我现在回答...无论如何感谢大家和 stackexchange。

标签: php json parsing


【解决方案1】:

JSON:

{\"Laptop\":{\"product_brand\":\"dd\",\"product_desc\":\"xx\"}

父json对象获取子json对象...

$jsonStr = json_decode(str_replace('\"','"',$_POST['laptop']));
echo $jsonStr->Laptop->product_brand;

使用'->'深入解析PHP中的JSON

如果你想在数组中转换

$jsonStr = json_decode(str_replace('\"','"',$_POST['laptop']),true);

并且可以使用

print_r($jsonStr) 

获取 JSON 的结构。

谢谢..所有

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2016-12-02
    相关资源
    最近更新 更多