簡體   English   中英

Json Decode返回NULL

[英]Json Decode returning NULL

我試圖在PHP中將json解碼為數組。但我的json就像

string(307) " string(290) "{"id":"1","name":"test name","rowno":"0","note":"test notes","created_date":"2016-05-01","updated_date":"2016-05-12 05:08:05"}" "

字符串中的字符串!! 如何將其轉換為數組。

這看起來像是在嘗試使用var_dump()解碼( 或嘗試輸出 )數據。 那不是你需要的功能; 你需要的是json_decode()

$data = json_decode($json);

如果這不是問題,並且您實際上正在接收上述數據,那么您將不得不將其刪除 - 最有可能使用如下所示的正則表達式:

$s = 'string(307) " string(290) "{"id":"1","name":"test name","rowno":"0","note":"test notes","created_date":"2016-05-01","updated_date":"2016-05-12 05:08:05"}" "';

preg_match('/\{(.*)\}/', $s, $matches);

print_r($matches);

哪個會返回你的json

Array
(
    [0] => {"id":"1","name":"test name","rowno":"0","note":"test notes","created_date":"2016-05-01","updated_date":"2016-05-12 05:08:05"}
    [1] => "id":"1","name":"test name","rowno":"0","note":"test notes","created_date":"2016-05-01","updated_date":"2016-05-12 05:08:05"
)

因此允許您在$matches正確解碼。

正則表達式對我來說是一個野獸所以我會盡可能地解釋表達式正在做什么:

  • \\{匹配第一次打開{
  • (.*)匹配中間的任何字符
  • \\}匹配結束}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM