json跟任何程式語言都無關是用來做不同程式語言中的通用資料。
json的規則:
1.在js中,json的型別是字元;
2json的格式,與js中物件的格式一致,鍵值對格式(array和object);
3.json中物件格式的key部分必須放在雙引號中,單引號都不行,並且當value為字元的時也要用雙引號,
4.json中不允許出現沒有意義的逗號
5.json中不允許出現函式,undefined,nan,可以出現null
6.json中不允許出現單引號
以上規則是在js中表示的json,如何專門表示json,有json檔案,擴充套件名為:.json的檔案。json
如何表達?
(n為錯誤,y為正確)
var json =
;// n,違反了1
var json ="";
// n,違反了3
var json =
"['hello',123,true]"
;// n,違反了6
var json =
`["hello",123,true]`
;// y
var json ='';
// y
var json ='';
// n,違反了4
var json ='';
// n,違反了5
var json =
'[,,]'
;// n,違反了4
var json =
'[,]'
;// y
json檔案自身的所有內容,預設就是字元,所以在json檔案中只需要嚴格符合2,3,4,5即可
一、物件轉json
物件轉json其實就是將物件轉成字元,要轉換的內容需符合物件的規則json.stringify( obj );
原始資料是物件,符合物件的規則,不符合物件的規則js都會報錯,程式壓根就沒法執行。結果資料是json,自己預設符合json的規則
**執行結果:var obj =
, a:undefined,
b:nan,
c:null,}
console.
log(obj)
; console.
log(
typeof obj)
;//物件轉json
var str =
json
.stringify
(obj)
;// 因為json不識別函式,undefined,nan,所以在強行轉換之後,函式和undefined會被忽略,nan被轉成null
console.
log(str)
; console.
log(
typeof str)
;//string
要符合物件規則。
轉換結果,會將屬性值為function,undefined的鍵值對,省略;
轉換結果,會將屬性值為nan的鍵值對,轉成null;(null還是null)
二、json轉物件
json轉物件其實就是將字元轉成物件,要轉換的內容需符合json的規則json.parse( str );
原始資料是json,符合json的規則。結果資料是物件,自己預設符合物件的規則
**執行結果:var str1 ='';
var o1 =
json
.parse
(str1)
;console.
log(o1)
;console.
log(
typeof o1)
;var str2 =
'[,]'
;var o2 =
json
.parse
(str2)
;console.
log(o2)
;console.
log(
typeof o2)
;
因為是將json轉成物件,json本身是字元,不管怎麼寫,js都不報錯。但是如何不符合json的規則,在轉換過程中,json會報錯。錯誤示例如下:
注意:json轉物件的轉換結果為物件//因為物件格式的key部分必須放在雙引號中,所以會報錯
var str ="";
//因為不允許出現函式,所以會報錯
var str =
'}';
js中json物件轉換為array
今天遇到了乙個將json物件格式轉換為js陣列的問題,網上down了一下,發現只是對json進行了一些操作。在此寫了乙個小小的 以供有需要的人使用。開門見山,先宣告乙個json物件陣列,在此說一下,js中陣列使用 區分的,而物件是由 區分,當然,這些問題各位大神肯定是都很了解了 這是乙個典型的 js...
JSON和物件的轉換
object object jsonobject.parse string text jsonobject jsonobject jsonobject.parseobject string text object作為所有類的父類,向上轉型的過程中還是提供了很多方便的。jsonobject跟objec...
js物件與json格式的轉換
目前的專案資料互動幾乎都用jquery,所以處理流程是 前端頁面資料 js物件 jquery提交 python處理,另外一種就是倒過來。python肯定不能直接處理js物件資料,所以要把js物件轉換成為python能處理的一種資料格式 通常是字典dict 同樣,python取資料反饋到前端也要把字典...