2017-01-27 11 views
0

Ich habe folgendes Objekt:konvertieren einfache Anführungszeichen doppelte Anführungszeichen

{ 
    name: "TJ", 
    age: 14, 
    skills: { 
    ruby: 14, 
    html: 50 
    } 
} 

Grundsätzlich möchte ich, dass wie dies in etwas konvertieren:

{ 
    "name": "TJ", 
    "age": 14, 
    "skills": { 
    "ruby": 14, 
    "html": 50 
    } 
} 

Also, alles sollte doppelte Anführungszeichen haben.

Ich habe versucht, dies zu tun: so etwas wie dieses

for (let i in person) { 
    if (typeof person[i] !== 'object') payload[`"${i}"`] = person[i] 
    // if object then map inside and to the same 
} 

Aber es ist fehlgeschlagen, weil der Ausgang ist:

{ 
    '"name"': '"TJ"', 
    ... 
} 

Auch JSON.stringify nicht gut ist, weil seine "{" Zugabe.

Hat jemand eine Idee, wie ich die oben genannten erreichen kann?

+1

Ich verstehe nicht, warum JSON.stringify schlecht – DDRamone

+0

Schlüssel werden standardmäßig in eine Zeichenfolge konvertiert. Kannst du erklären, was genau du zu erreichen versuchst? – Rajesh

+0

@DDRamone, weil das Objekt so aussieht http://jsbin.com/vogivanohe/edit?js,console – Anderson

Antwort

5

Sie können einfach JSON.stringify() verwenden, richtig?

wenn

var a = { 
    name: "TJ", 
    age: 14, 
    skills: { 
    ruby: 14, 
    html: 50 
    } 
} 

var b = JSON.stringify(a); 

Die Sache, die Sie in der Verbindung von Ihnen geteilt sehen (http://jsbin.com/vogivanohe/edit?js,console): "{\" Bool \ ": true, \" int \ ": 1}"

ist nur, wie diese Konsole die Daten darstellt. Das eigentliche Objekt bleibt so, wie Sie es erwarten.

Überprüfen Sie den unten stehenden Link: http://codepen.io/pankaj805/pen/xgXoyQ

Ihrem Browser Konsole überprüfen.

+0

> Auch JSON.stringify ist nicht gut, weil es Hinzufügen von "{". – Anderson

+1

@Anderson Bitte überprüfen Sie den Link, den ich Ihnen nach der Bearbeitung gesendet habe –

+0

@Anderson das ist, was Sie brauchen, ich bin sicher. Überprüfen Sie es – DDRamone

0

versucht einfach Ihr Code ausgeführt wird:

var person={ 
    name: "TJ", 
    age: 14, 
    skills: { 
    ruby: 14, 
    html: 50 
    } 
}; 

console.log(JSON.stringify(person)); 

o/p:

{"name":"TJ","age":14,"skills":{"ruby":14,"html":50}} 

keine zusätzlichen Klammern nicht hinzugefügt werden ...

Verwandte Themen