json的單引號和雙引號問題(親測有效)

2021-09-10 07:34:38 字數 1092 閱讀 9682

在json檔案寫陣列的時候,如果陣列的字串使用單引號包住的時候,會導致獲取到的json檔案不能通過json.parse()進行轉碼,然後在 json官網 發現了,字串是必須要用雙引號的。

json就是一段有格式的字串,如果資料的封裝與解析都是我們自己做的時候,單引號和雙引號是沒啥關係的,但是如果用到一些別的json相關的庫的時候,或者像筆者這樣是發給別人用的時候,這個就特別需要注意了!

所以應該養成良好的習慣,用json的時候請用雙引號吧!

var json = ''; // 這個是正確的json格式

var json = ""; // 這個也是正確的json格式

var json = ''; // 這個是錯誤的json格式,因為屬性名沒有用雙引號包裹

var json = "";//這個也是錯誤的json格式,屬性名用雙引號包裹,而它用了單引號

// 檢驗json格式是否正確,可以使用 json.parse(json); 如果是正確的json格式,會返回乙個物件

// 否則會報錯

// 如果是物件的話,屬性名可以不用雙引號包裹

var obj = ;

var obj = ;

var obj = ;

var obj = ;

var obj = ;

// 上述寫法都是正確的。一般使用第一種形式最多,有些人可能為了保證跟json格式的字串保持一致性,

// 也會使用第二種形式。。最後3種形式雖然是正確的,但不建議使用,容易挨打

1、json格式一般包括七部分組成:[ ](中括號) 、{}(大括號)、key、value、:(冒號)、''(單引號)、""(雙引號)。

2、json格式在解析時是按照如上的格式從左到右解析的,如果遇到格式不對就會報錯。如多個空格,多個引號或非字元。

3、如果json的資料較多在出錯時就很難查詢問題所在,建議模仿二分法將json字元乙份為二逐步排除。

參考文章:

單引號和雙引號

char p1 1 char p2 1 1 的ascii碼值為49 0和49位址處為作業系統使用,故訪問這些位址如printf s,s,s p1,p2,p3 會產生段錯誤。printf n n的ascii碼值為10,同理,段錯誤。a 表示字元常量,在記憶體中佔1個位元組,a 1表示 a 的ascii...

單引號( )和雙引號( )

關鍵是要養成良好的習慣.單引號 一般用在單字元,如 c 雙引號 一般用在字串,如 abc 如果巢狀使用的話,一般用交替方法,尤其是html中.如,也可以改成.在分割乙個字串時要用到str.split或者regex.split。簡單的單個字串的替換,直接用字串.split 單個字串 多個字串的替換用r...

mysql單引號 mysql單引號和雙引號

表名,列名最好用 esc下面那個,不用 會出錯 這就要從雙引號和單引號的作用講起 雙引號裡面的字段會經過編譯器解釋然後再當作html 輸出,但是單引號裡面的不需要解釋,直接輸出。例如 abc i love u echo abc 結果是 i love u echo abc 結果是 abc echo a...