我有一个关于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项目中,然后测试文件,它给我
null
;- 我用Google搜索了很多次,但没有答案;
醇>
它都失败了,现在我在这里,我想我需要帮助! 感谢任何帮助和工作。
=============================================== ====================
大家好,我已经解决了这个问题,我使用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);
希望对其他人有所帮助,我关闭了这个,再次感谢大家!
答案 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",
]