Saya memiliki masalah kecil untuk membuat array saya menjadi json yang saya inginkan. Saya telah membuat kode ini:

var arrData = [{label:Test,value:199.12}, {label:Test2,value:1024}]     
var data = [];
for (var i = 0; i < arrData.length; i++) {
  data.push(JSON.stringify({
    label: arrData[i][2],
    value: arrData[i][3]
  }).replace(/\"/g, "").replace("\\r", ""))
}

Itu juga melakukan pekerjaan dengan benar. Tapi saya ingin itu dalam format ini:

{ label: 'Makanan', nilai: 90 },

Saya ingin memiliki ' ' pada data label dan saya ingin menghapus tanda baca "" ganda di luar json. Karena json saya saat ini terlihat seperti ini:

"{label:Test,value:199.12}", "{label:Test2,value:1024}", 
0
IFreeze 29 Oktober 2019, 16:31

1 menjawab

Jawaban Terbaik

{ label: 'Food', value: 90 } bukan JSON yang valid sehingga Anda tidak dapat membuatnya menggunakan JSON.stringify.

Ini bukan format serialisasi standar (meskipun ini adalah literal JavaScript yang valid) jadi jika Anda ingin membuat serialisasi data ke sana, Anda harus menulis serialiser khusus.

Anda bisa mengulang properti objek dan menambahkannya, nilai terkait, dan tanda kutip dan koma apa pun yang diminta format Anda, ke string.

1
Quentin 29 Oktober 2019, 13:36