2017-03-12 3 views
-2

Entschuldigung für die Frage, ich bin noob in JS. Ich habe string:JS konvertieren Zeichenfolge in Array

[{"priceEm": 28000, "priceId": "25094967"}] 

Wie ich

['priceEm': 28000, 'priceId':'25094967'] 

zu Array konvertieren in und durch Arrays durchlaufen, nicht durch String

Antwort

2

Generieren eines temporären DOM-Element mit der Zeichenfolge als HTML-Inhalt (durch Einstellung innerHTML Eigenschaft) und schließlich die textContent bekommen, die die decodierten Daten wären.

var str = '[{"priceEm": 28000, "priceId": "25094967"}]'; 
 

 
// create a temporary div element 
 
var temp = document.createElement('div'); 
 
// set the html content 
 
temp.innerHTML = str; 
 
// get the text content 
 
console.log(temp.textContent);


Oder mit textarea das gleiche tun und die value schließlich bekommen.

var str = '[{"priceEm": 28000, "priceId": "25094967"}]'; 
 

 
// generate a temporary textarea 
 
var temp = document.createElement('textarea'); 
 
// set the html content 
 
temp.innerHTML = str; 
 
// get the value of the element 
 
console.log(temp.value);


UPDATE: Das Ergebnis ein gültiges JSON-Daten, können Sie wiederholen, nachdem den JSON-String mit JSON.parse Methode übergeben.

var str = '[{"priceEm": 28000, "priceId": "25094967"}]'; 
 

 
var temp = document.createElement('textarea'); 
 
temp.innerHTML = str; 
 

 
// parse the JSON string 
 
var arr = JSON.parse(temp.value); 
 

 
console.log(arr[0]); 
 

 
// iterate over the array 
 
arr.forEach(function(obj) { 
 
    console.log(obj); 
 
    // iterate over the object properties 
 
    Object.keys(obj).forEach(function(k) { 
 
    console.log(k, obj[k]); 
 
    }) 
 
});

1

Antwort Pranav ist in der Nähe. Sie müssen es schließlich als Objekt analysieren, um auf seine Eigenschaften zugreifen zu können:

var str = '[{"priceEm": 28000, "priceId": "25094967"}]'; 

var temp = document.createElement('div'); 
temp.innerHTML = str; 

var finalObj = JSON.parse(temp.textContent)[0]; 
Verwandte Themen