Rumah  >  Artikel  >  hujung hadapan web  >  Ringkasan knowledge_json berkaitan JSON

Ringkasan knowledge_json berkaitan JSON

WBOY
WBOYasal
2016-05-16 15:51:371117semak imbas

JSON: Notasi Objek JavaScript

Peraturan sintaks JSON
Data dalam pasangan nama/nilai
Data dipisahkan dengan koma
Tanda kurung kerinting menyimpan objek
Tanda kurung persegi menyimpan tatasusunan

JSON mempunyai 6 jenis nilai:

Objek, tatasusunan, rentetan, nombor, nilai Boolean, nol

Objek JSON ialah koleksi tidak tertib pasangan nama/nilai

Nama: sebarang rentetan
Nilai: Nilai JSON dari sebarang jenis, termasuk tatasusunan dan objek (objek boleh dibenamkan dalam objek)
Nota: Rentetan JSON mesti menggunakan petikan berganda (petikan tunggal akan melaporkan ralat)

1. Objek

Buat literal dalam javascript:

var object = {
  name:"lily",
  age:22
};

atau:

var object = {
  "name":"lily",
  "age":22
}; 

JSON:

{
  "name":"lily",
  "age":22
} 

2. Tatasusunan

Tatasusunan JSON menggunakan bentuk literal tatasusunan dalam javascript
Sambungan:
Menggabungkan tatasusunan dan objek boleh membentuk gabungan data yang lebih kompleks
Contohnya:

[
  {
    "name":"lily",
    "age":22,
    "job":"docter"
  },
  {
    "name":"nicy",
    "age":21,
    "job":"teacher"
  },
  {
    "name":"lily",
    "age":22,
    "job":"AE"
  }
]  

3. Menghurai dan bersiri

JSON mempunyai sintaks yang serupa dengan JavaScript dan boleh menghuraikan struktur data JSON ke dalam objek JavaScript yang berguna

1.Objek JSON

Hantar dan terima data JSON

Apabila membaca, menulis, menghantar dan menerima objek data JSON, objek tersebut perlu ditukar kepada rentetan dan boleh ditukar daripada rentetan kepada objek data JSON. (baca dan tulis dengan cara yang sama digunakan untuk javascript)

Objek JSON mempunyai dua kaedah:
① stringify(): Mensiri objek javascript ke dalam rentetan JSON
② parse(): Parse rentetan JSON ke dalam nilai javascript asli

Contoh:

var book = {
  title:"professional JavaScript",
  authors:[
    "lily"
  ],
  edition:3,
  year:2011
};
var jsonText = JSON.stringify(book);
alert(jsonText);   //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011}
alert(typeof jsonText);   //string
var bookCopy = JSON.parse(jsonText);
alert(typeof bookCopy);   //object 

Dalam contoh ini, JSON.stringify() digunakan untuk mensirikan buku objek javascript ke dalam rentetan JSON, dan kemudian menyimpannya ke jsonText, hantar rentetan JSON jsonText terus ke JSON.parse() untuk mendapatkan Nilai javascript yang sepadan;


Nota: Apabila mensiri objek JavaScript, nilai akhir ialah sifat contoh jenis data JSON yang sah dan sebarang nilai yang tidak sah akan dilangkau

2. Pilihan siri

JSON.stringify() boleh menerima dua parameter apabila mensiri objek JavaScript
Parameter 1: penapis, yang boleh menjadi tatasusunan atau fungsi
Parameter dua: pilihan yang menunjukkan sama ada untuk mengekalkan lekukan dalam rentetan JSON
1) Tapis hasil
Jika parameter penapis ialah tatasusunan, hasil JSON.stringify() hanya mengandungi atribut yang disenaraikan dalam tatasusunan
Contohnya:

var book = {
  "title":"professional JavaScript",
  "authors":[
    "lily"
  ],
  edition:3,
  year:2011
}; 
var jsonText = JSON.stringify(book,["title","edition"]);
alert(jsonText); //{"title":"professional JavaScript","edition":3}
alert(typeof jsonText); // string 

2) Lekukan rentetan:
Parameter ketiga kaedah JSON.stringify() digunakan untuk mengawal aksara lekukan dan ruang putih dalam hasil
3) kaedah toJSON()
Tentukan kaedah toJSON() untuk objek mengembalikan format data JSONnya sendiri

4. Nilai akses JSON

Jenis pertama: tatasusunan ringkas
['item1','item2','item3']
Nilai: Akses nilai terbenam melalui indeks berangka (indeks item pertama ialah 0)

['item1','item2','item3']
var item = ['item1','item2','item3'];
makluman(item[0]); // item1 
Jenis kedua: Gunakan {} untuk mewakili objek dan tatasusunan
{ "kunci":"nilai" }
Nilai: Akses nilai terbenam melalui nama kunci

var oContoh = { "nama":"lily" };
makluman(oContoh.nama); // lily
makluman(oContoh["nama"]); // lily 
Menggunakan dua kaedah ini, banyak struktur data boleh diterangkan dari segi subrekod (dengan kekunci indeks bernama atau angka):

Contohnya:

var oNovelist = {
  "firstName":"lily",
  "lastName":"russ",
  "novels":
      [
        {
          "title":"and choas died",
          "year":"1970"
        },
        {
          "title":"the famale man",
          "year":"1976"
        }
      ]
}; 
var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year;
alert(msg);   // lily russ's and choas died was published in1970  

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn