JSON-Antwort als String und Integer senden ...

8
%Vor%

Wie kann ich VitalGroupID und Temperature als Integer anstelle von String ... senden. Dies ist die Anfrage, die nach dem Drücken der Submit-Taste erzeugt wird.

    
John Cooper 28.07.2011, 11:38
quelle

5 Antworten

2

Streng genommen ist json nicht typisiert, Sie können es also nicht als Ganzzahl senden, es muss eine Zeichenkette sein. JavaScript-Objekte sind ein wenig weniger streng, also was Sie haben, wird ihre Bewertung zu einem Javascript-Objekt, aber kein strikter JSON-Parser wird es verstehen können.

Das Beste, was Sie tun können, ist das Konvertieren von Feldern, von denen Sie wissen, dass es sich um Zahlen auf der Clientseite handelt, mit parseInt.

z.B. sonObj["UpdateRequest"]["SAASAS"]["VitalGroupID"] = parseInt(jsonObj["UpdateRequest"]["SAASAS"]["VitalGroupID"], 10);

    
Charles Ma 28.07.2011, 11:50
quelle
10

Sie müssen den Code anzeigen, der die Anforderung erstellt, wenn Sie auf die Schaltfläche klicken. Wenn das Objekt, das Sie serialisieren, Zahlen und keine Strings enthält, enthält das resultierende JSON Zahlen statt Strings. Das Problem ist also, dass das Objekt, das Sie serialisieren, Zeichenfolgen hat.

Wenn Sie diese Werte beispielsweise aus HTML-Eingabefeldern oder ähnlichem erhalten, z. B .:

%Vor%

... value ist immer eine Zeichenkette. Sie müssen es analysieren:

%Vor%

Beachten Sie, dass es am besten ist, parseInt zu verwenden und ihm die Basisnummer (normalerweise 10) zu geben, sonst treten Probleme mit Zahlen auf, die mit "08" und ähnlichem geschrieben sind.

    
T.J. Crowder 28.07.2011 11:42
quelle
1

JSON unterstützt Zahlen als Werte. Also:

%Vor%     
Chris Buck 07.07.2014 17:07
quelle
0
%Vor%     
Subdigger 28.07.2011 11:40
quelle
0

Wenn Sie es auf der Clientseite behandeln wollen (wie Sie JSON, JAvascript erwähnt haben). Sie können Folgendes tun, nachdem Sie das JSON-Objekt analysiert haben. parseInt(UpdateRequest.SAASAS.VitalGroupID,10) oder UpdateRequest.SAASAS.VitalGroupID*1 Übernehmen Sie dasselbe für die Variable "temparature".

    
Ashwin Krishnamurthy 28.07.2011 11:43
quelle

Tags und Links