JSON字串key缺少雙引號的解決方法

2021-09-10 22:25:49 字數 2085 閱讀 7137

json字串key缺少引號的解決方法

json字串是key:value形式的字串,正常key是由雙引號括起來的。

例如:

<?php

$data = array('name'=>'fdipzone');echo json_encode($data);                        // print_r(json_decode(json_encode($data), true)); //array ( [name] => fdipzone )

?>

但如果json字串的key缺少雙引括起來,則json_decode會失敗。

<?php$str = '';var_dump(json_decode($str, true)); // array(1) $str1 = '';var_dump(json_decode($str1, true)); // null

?>

解決方法:判斷是否存在缺少雙引括起來的key,如缺少則先用正則替換為"key",再進行json_decode操作。

<?php

/** 相容key沒有雙引括起來的json字串解析* @param  string  $str json字串* @param  boolean $mod true:array,false:object* @return array/object*/

function

ext_json_decode

($str, $mode=false)

return json_decode($str, $mode);}$str = '';var_dump(ext_json_decode($str, true)); // array(1) $str1 = '';var_dump(ext_json_decode($str1, true)); // array(1)

?>

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

json字串key缺少引號的解決方法

json字串是key:value形式的字串,正常key是由雙引號括起來的。

例如:

<?php

$data = array('name'=>'fdipzone');echo json_encode($data);                        // print_r(json_decode(json_encode($data), true)); //array ( [name] => fdipzone )

?>

但如果json字串的key缺少雙引括起來,則json_decode會失敗。

<?php$str = '';var_dump(json_decode($str, true)); // array(1) $str1 = '';var_dump(json_decode($str1, true)); // null

?>

解決方法:判斷是否存在缺少雙引括起來的key,如缺少則先用正則替換為"key",再進行json_decode操作。

<?php

/** 相容key沒有雙引括起來的json字串解析* @param  string  $str json字串* @param  boolean $mod true:array,false:object* @return array/object*/

function

ext_json_decode

($str, $mode=false)

return json_decode($str, $mode);}$str = '';var_dump(ext_json_decode($str, true)); // array(1) $str1 = '';var_dump(ext_json_decode($str1, true)); // array(1)

?>

key沒有引號的字串如何轉json變為字典格式

讀取txt檔案將其轉換為字典 json內容載入和eval函式,其中json方法占用記憶體較少!兩種方式的 import json def json to dict content str txt檔案讀取的字串,使用json載入,占用記憶體少 param txt path return content...

3 6 字串 單引號與雙引號

1 str 字串 2 表現方式 單引號 why why 雙引號 why why 三引號 當字串特別長的時候,可以用三引號來寫 haha sdfdsf sdfsd fsdf 輸出 haha nsdfdsf nsdf nsd n nfsd nf 還有一種就是單 雙引號也可以實現換行 asd asd sd...

python基礎 字串單引號雙引號三引號

字串定義可用 單引號 雙引號 三個單引號 定義 雙引號與單引號幾乎沒什麼區別,三個單引號在定義時全部接受需要定義的內容 包括回車空格 並直接顯示,不需要額外新增轉義字元 對於轉義字元,在idle中直接輸出字串不會直接顯示出轉義後的字元,而是顯示轉義字元,轉義字元需要用print函式來顯示 1 基本認...