Convertire una stringa in un object JSON

Come pensi che JS pensi che una stringa sia JSON?

Ho una funzione che funziona solo se l’object JSON è passato ad esso. Se passo una stringa ad esso, con lo stesso formato di JSON, non funziona. Quindi voglio fare in modo che quella funzione pensi che la stringa passata sia un JSON. La stringa è effettivamente nel formato JSON.

Ho anche provato il seguente. Ho inserito la stringa tramite Ajax, con il parametro “handle as” come “JSON”, e quindi quando ho passato il risultato alla funzione, funziona.

Quindi ho dedotto che il problema non è con la stringa. Come posso convertire questa stringa in JSON? Se ottengo la stessa stringa attraverso la richiesta di ajax e quindi passarla alla funzione funziona, mentre il passaggio diretto non funziona.

La stringa è la seguente:

{ "data": [ { "id": "id1", "fields": [ { "id": "name1", "label": "joker", "unit": "year" }, {"id": "name2", "label": "Quantity"}, ], "rows": [ data here.... and closing braces.. 

 var obj = JSON.parse(string); 

Dove string è la tua stringa json.

Puoi usare JSON.parse() per quello.

Vedi i documenti su MDN

Esempio:

 var myObj = JSON.parse('{"p": 5}'); console.log(myObj); 

Ho avuto lo stesso problema con una stringa simile alla tua

 {id:1,field1:"someField"},{id:2,field1:"someOtherField"} 

Il problema lei è la struttura della stringa il parser json non riconosceva che ha bisogno di creare 2 oggetti in questo caso. quindi quello che ho fatto è un po ‘sciocco, ho appena strutturato la mia stringa e ho aggiunto il [] con questo riconosciuto dal parser

 var myString = {id:1,field1:"someField"},{id:2,field1:"someOtherField"} myString = '[' + myString +']' var json = $.parseJSON(myString) 

Spero che sia d’aiuto,

Se qualcuno ha un approccio più elegante, per favore condividi.

 var obj = jQuery.parseJSON('{"name":"John"}'); alert( obj.name === "John" ); 

Link: –

http://api.jquery.com/jQuery.parseJSON/

 var Data=[{"id": "name2", "label": "Quantity"}] 

Passa la variabile stringa in analisi Json:

 Objdata= Json.parse(Data); 

JSON.parse() funzione JSON.parse() funzionerà.

o

Utilizzando Jquery,

 var obj = jQuery.parseJSON( '{ "name": "Vinod" }' ); alert( obj.name === "Vinod" ); 

Basta usare la funzione eval .

 var myJson = eval(theJsibStr); 

Consideriamo di avere una stringa simile

esempio: “nome: lucy, età: 21 anni, sesso: femmina”

 function getJsonData(query){ let arrayOfKeyValues = query.split(','); let modifiedArray = new Array(); console.log(arrayOfKeyValues); for(let i=0;i< arrayOfKeyValues.length;i++){ let arrayValues = arrayOfKeyValues[i].split(':'); let arrayString ='"'+arrayValues[0]+'"'+':'+'"'+arrayValues[1]+'"'; modifiedArray.push(arrayString); } let jsonDataString = '{'+modifiedArray.toString()+'}'; let jsonData = JSON.parse(jsonDataString); console.log(jsonData); console.log(typeof jsonData); return jsonData; } let query = "name:lucy,age:21,gender:female"; let response = getJsonData(query); console.log(response);