Bagaimana Anda membuat JS berpikir bahwa string adalah JSON?
Saya memiliki fungsi yang hanya berfungsi jika objek JSON dilewatkan ke sana. Jika saya meneruskan string ke sana, dengan format yang sama dengan JSON, itu tidak berfungsi. Jadi saya ingin membuat fungsi itu berpikir bahwa string yang diteruskan ke itu adalah JSON. String tersebut memang dalam format JSON.
Saya juga mencoba yang berikut ini. Saya memasukkan string melalui Ajax, dengan parameter "handle as" sebagai "JSON", dan kemudian ketika saya meneruskan hasilnya ke fungsi kerjanya.
Jadi saya menyimpulkan masalahnya bukan pada string. Bagaimana cara mengonversi string ini ke JSON? Jika saya mendapatkan string yang sama melalui permintaan ajax dan kemudian meneruskannya ke berfungsi berfungsi, sedangkan secara langsung melewati itu tidak berfungsi.
String adalah sebagai berikut:
{
"data": [
{
"id": "id1",
"fields": [
{
"id": "name1",
"label": "joker",
"unit": "year"
},
{"id": "name2", "label": "Quantity"},
],
"rows": [ data here....
and closing braces..
sumber
Jawaban:
Di mana
string
string json Anda.sumber
Anda dapat menggunakan
JSON.parse()
untuk itu.Lihat dokumen di MDN
Contoh:
sumber
Saya memiliki masalah yang sama dengan string yang sama seperti milik Anda
Masalahnya di sini adalah struktur string. Pengurai json tidak mengakui bahwa ia perlu membuat 2 objek dalam kasus ini. Jadi apa yang saya lakukan agak konyol, saya hanya menyusun ulang string saya dan menambahkan
[]
dengan ini parser diakuiSemoga ini bisa membantu,
Jika ada yang memiliki pendekatan yang lebih elegan, silakan bagikan.
sumber
myString
salah. Ini bukan string, dan JSON diformat salah. Baris kedua Anda akan menjadi berlebihan. Inilah yang seharusnya:var myString = '[{"id":1,"field1":"someField"},{"id":2,"field1":"someOtherField"}]'
Saya tahu ini posting yang cukup lama, tapi saya pikir saya akan menambahkan beberapa kejelasan kalau-kalau ada yang menemukannya.$.parseJSON
manaJSON.parse
tidak berfungsi dan melempar kesalahanJSON.parse is not a function
tautan:-
http://api.jquery.com/jQuery.parseJSON/
sumber
konversikan string ke HashMap menggunakan Object Mapper ...
new ObjectMapper().readValue(string, Map.class);
Peta internal akan berperilaku sebagai Objek JSON
sumber
Masukkan variabel string ke parse Json:
sumber
Data
sudah merupakan objek, jadi tidak perlu menguraikannya. Anda membutuhkan beberapa kutipan yang mengelilingi semua Data Anda untuk membuatnya menjadi string.Cukup gunakan
eval
fungsi.sumber
JSON.parse()
fungsi akan dilakukan.atau
Menggunakan Jquery,
sumber
Mari kita anggap Anda memiliki string
contoh: "nama: lucy, usia: 21, jenis kelamin: perempuan"
`
sumber