Ich habe ein Cordova android Plugin für meine Bibliothek entwickelt. Die Bibliothek wird zum Senden von Ereignissen über verschiedene verbundene Geräte verwendet.Wie wird der JSON korrekt analysiert?
JS-Schnittstelle empfängt ein JSON von der Java-Seite. Was ich tun möchte ist, dies vor dem Erreichen der Anwendung zu analysieren, damit der Entwickler es direkt als JS-Objekt verwenden kann. Als ich versuchte, den JSON in der JS-Oberfläche meines Plugins zu analysieren, stößt ich auf Probleme. Unten ist ein Beispiel:
von JS Schnittstelle empfangen:
{"key":"name","data":"{\"name\":\"neil\",\"age\":2,\"address\":\"2 Hill St\"}"}
Nachdem in JS-Schnittstelle Parsen:
Object {key: "name", data: "{"name":"neil","age":2,"address":"2 Hill St"}"}
data:"{"name":"neil","age":2,"address":"2 Hill St"}"
key:"name"
__proto__:Object
Wie Sie sehen können, wenn diese Daten die App erreicht und der Entwickler die Zugriffe Daten:
eventData.key = name;
eventData.data = {"name":"neil","age":2,"address":"2 Hill St"};
eventData.data.name = undefined
Wie kann ich die inneren Daten auch in meiner JS-Schnittstelle analysieren, so dass die Entwicklung oper kann direkt zugreifen. Im obigen Fall muss er eventData.data analysieren, um auf die Eigenschaften zugreifen zu können. Ich möchte nicht, dass dies passiert und ich möchte dies in der JS-Schnittstelle selbst tun.
Bitte beachten Sie, dass eventData viele Eigenschaften haben kann und daher vor dem Übergang in die App richtig analysiert werden sollte.
Ich bin neu in Javascript und daher finden es schwierig, das Problem zu verstehen.
'eventData.data = JSON.parse (eventData.data)' – Phil
Empfangen von JS Schnittstelle es mir sieht, dass es ein JSON-Objekt empfängt aber die Eigenschaft data enthält eine zu analysierende Zeichenkette – MFAL
'Received by JS interface' - der von JavaScript empfangene JSON ist eindeutig nicht korrekt formatiert (in Bezug auf die Daten, die er darzustellen versucht) - behebe den SENDER dieses Mülls JSON –