2016-04-14 9 views
0

Jetzt bin ich werden diese bearbeiten:löschen spezifische Zitate in Javascript

var coordinates = [ 
     {"lat": 37.772, "lng": -122.214, "status": "walking"}, 
     {"lat": 36.772, "lng": -123.214, "status: "walking"} 
     ]; 

Und ich die Funktion ersetzen wie folgt verwenden:

JSON.stringify(data).replace(/\"/g, ""); 

Aber nachdem ich die doppelten Anführungszeichen „“ ersetzen, die doppelte Anführungszeichen Wert Walking wurde auch gelöscht, aber ich möchte den Wert zu Fuß die Anführungszeichen halten können, so js es als String betrachten könnte.

+1

WTH würden Sie Zitate aus JSON-Strings entfernen möchten, ist es ungültig in jeder Hinsicht zu machen? – Bergi

+2

Zuerst, warum brauchen Sie das? Sie haben bereits einen gültigen JS-Code. Die zweite Sache: Sie sind ein Angebot nach '" status' fehlt –

+0

Denn es als js Objekt einstellen, dann kann ich Pfad für die js google map gesetzt –

Antwort

0

können Sie alle Eigenschaften greifen und Anführungszeichen um es mit dieser Regex entfernen: /"([a-z]*?)":/ig. Halten Sie die String-Werte in Anführungszeichen.

var coordinates = [ 
    {"lat": 37.772, "lng": -122.214, "status": "walking"}, 
    {"lat": 36.772, "lng": -123.214, "status": "walking"} 
]; 

var x = JSON.stringify(coordinates); 

x.replace(/"([a-z]*?)":/ig, (m, m1) => m1 + ':'); 

Vor

[{"lat":37.772,"lng":-122.214,"status":"walking"},{"lat":36.772,"lng":-123.214,"status":"walking"}] 

Nach

[{lat:37.772,lng:-122.214,status:"walking"},{lat:36.772,lng:-123.214,status:"walking"}]