js中物件和 JSON 的轉換

2021-10-03 16:55:06 字數 2426 閱讀 8227

json跟任何程式語言都無關是用來做不同程式語言中的通用資料。

json的規則:

1.在js中,json的型別是字元;

2json的格式,與js中物件的格式一致,鍵值對格式(array和object);

3.json中物件格式的key部分必須放在雙引號中,單引號都不行,並且當value為字元的時也要用雙引號,

4.json中不允許出現沒有意義的逗號

5.json中不允許出現函式,undefined,nan,可以出現null

6.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

以上規則是在js中表示的json,如何專門表示json,有json檔案,擴充套件名為:.json的檔案。

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會報錯。錯誤示例如下:

//因為物件格式的key部分必須放在雙引號中,所以會報錯

var str ="";

//因為不允許出現函式,所以會報錯

var str =

'}';

注意:json轉物件的轉換結果為物件

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取資料反饋到前端也要把字典...