php json_decode VS Laravel Tinker json_decode

时间:2017-07-18 09:26:59

标签: php laravel-5

我有一个关于php json_decode的问题,现在我有一个像这样的json字符串

"{\"client_id\":\"yunniao\",\"client_secret\":\"sdfW234eDtjkuDFityDu345JYyuk5Jom\",\"insurance_applicant_id\":1,\"policyholder\":\"\\u5317\\u4eac\\u4e91\\u4e2d\\u5c0f\\u9e1f\\u79d1\\u6280\\u6709\\u9650\\u516c\\u53f8\",\"ower_name\":\"\\u8bd7\\u6768\\u8fd0\\u529b\\u4e8c\",\"plate_no\":\"\\u4eacM00002\",\"trade_no\":\"2932848\",\"cargo_type\":\"\\u4e34\\u65f6\\u4efb\\u52a1-\\u6709SOP\",\"cargo_amount\":\"1-1\",\"cargo_number_min\":1,\"cargo_number_max\":1,\"start_place\":\"\\u5367\\u9f99\\u5c0f\\u533a\",\"end_place\":\"\\u4e3b\\u4efb\\u52a1-\\u6709SOP\",\"effect_date\":\"2017-07-01T00:08:44+08:00\",\"coverage\":100000,\"freight\":\"3000\"}"

是一个非常json的字符串,

  • 我把它放在Laravel artisan tiker上面的字符串中,像这样返回我,它是一张图片,但它没有显示在这里:

    enter image description here

  • 但是在php交互式命令行中,json字符串什么都没有给我,结果就像是在图像后面;

    enter image description here

我尝试了很多可能性;

  
      
  1. 我试图将上面的代码放在我的Laravel项目中,然后测试文件,它给我null;
  2.   
  3. 我用Google搜索了很多次,但没有答案;
  4.   

它都失败了,现在我在这里,我想我需要帮助! 感谢任何帮助和工作。

=============================================== ====================

大家好,我已经解决了这个问题,我使用eval,像这样的评估

$param = "{\"insurance_applicant_id\":1,\"plate_no\":\"\\u4eacA11113\",\"trade_no\":86254,\"cargo_type\":\"\",\"cargo_number_min\":0,\"cargo_number_max\":0,\"cargo_amount\":\"0~0\",\"start_place\":\"\\u897f\\u82d1\",\"end_place\":\"\\u914d\\u9001\\u533a\\u57df\\u63cf\\u8ff0\",\"effect_date\":\"2016-01-09 14:54:04\",\"coverage\":0,\"freight\":79200}";
eval("\$param = \"$param\";");
$decodeValue = json_decode($param);

希望对其他人有所帮助,我关闭了这个,再次感谢大家!

2 个答案:

答案 0 :(得分:0)

交互式PHP控制台根本不会自动输出上次计算的表达式的值。你的PHP代码没有echo任何东西,所以没有输出。您需要print_r(json_decode(...))才能看到某些内容。

答案 1 :(得分:-2)

试试这个

$json = "{\"client_id\":\"yunniao\",\"client_secret\":\"sdfW234eDtjkuDFityDu345JYyuk5Jom\",\"insurance_applicant_id\":1,\"policyholder\":\"\\u5317\\u4eac\\u4e91\\u4e2d\\u5c0f\\u9e1f\\u79d1\\u6280\\u6709\\u9650\\u516c\\u53f8\",\"ower_name\":\"\\u8bd7\\u6768\\u8fd0\\u529b\\u4e8c\",\"plate_no\":\"\\u4eacM00002\",\"trade_no\":\"2932848\",\"cargo_type\":\"\\u4e34\\u65f6\\u4efb\\u52a1-\\u6709SOP\",\"cargo_amount\":\"1-1\",\"cargo_number_min\":1,\"cargo_number_max\":1,\"start_place\":\"\\u5367\\u9f99\\u5c0f\\u533a\",\"end_place\":\"\\u4e3b\\u4efb\\u52a1-\\u6709SOP\",\"effect_date\":\"2017-07-01T00:08:44+08:00\",\"coverage\":100000,\"freight\":\"3000\"}";
$decoded = json_decode($json, true);

它将以像这样的数组形式给你解码的json

[
 "client_id" => "yunniao",
 "client_secret" => "sdfW234eDtjkuDFityDu345JYyuk5Jom",
 "insurance_applicant_id" => 1,
 "policyholder" => "北京云中小鸟科技有限公司",
 "ower_name" => "诗杨运力二",
 "plate_no" => "京M00002",
 "trade_no" => "2932848",
 "cargo_type" => "临时任务-有SOP",
 "cargo_amount" => "1-1",
 "cargo_number_min" => 1,
 "cargo_number_max" => 1,
 "start_place" => "卧龙小区",
 "end_place" => "主任务-有SOP",
 "effect_date" => "2017-07-01T00:08:44+08:00",
 "coverage" => 100000,
 "freight" => "3000",
]