C # -Wörterbuch in Javascript lesen

9

Ich habe eine Wörterbuchvariable in C # (ASP.NET). Ich möchte diese Daten an Javascript senden. Ich verwende diesen Code, um ihn zu serialisieren und an Javascript zu senden.

%Vor%

Auf der Javascript-Seite rufe ich diese Seite mit diesem an;

%Vor%

Der Wert in Chats var ist {"Sam":"How are you?","Rita":"I am good"}

Ich weiß nicht, wie ich diesen Wert in Chats lesen kann. Kann ich das trotzdem in ein 2D-Array umwandeln und es als Array [0] [0], Array [1] [0] etc. lesen?

Danke.

BEARBEITEN: Eine weitere Verwirrung besteht darin, dass das Antwortobjekt, das von ASP.NET zurückgegeben wird,

enthält %Vor%

Und nicht nur {"Sam":"How are you?","Rita":"I am good"} wie erwartet. Und deshalb muss ich das Antwortobjekt durch var Chats = response.split('\n')[0]; teilen, was es zu einer Zeichenkette macht!

    
Jayesh 15.10.2011, 06:57
quelle

3 Antworten

19

Sie lesen so:

%Vor%

(so wie ein C # Wörterbuch :-). Sie lesen / schreiben mit etwas wie Chats["propertyName"] )

oder, um jeden Wert zu durchlaufen:

%Vor%

Beachten Sie, dass dies anders ist als C #. In C # c würde ein KeyValuePair<> enthalten, das sowohl den Schlüssel als auch den Wert enthält. In Javascript c ist nur der Schlüssel und um den Wert zu erhalten muss Chats[c] verwendet werden.

(Die Begründung für hasOwnProperty ist hier Ссылка )

Jetzt ... Wenn du es wirklich teilen willst:

%Vor%     
xanatos 15.10.2011, 07:10
quelle
3

Fügen Sie einfach den Datentyp json zu Ihrer Ajax-Anfrage hinzu

%Vor%

Dies macht response zu einem JavaScript-Objekt, auf das Sie so zugreifen können

%Vor%

um das in ein 2D-Array aufzuteilen, tun Sie das einfach

%Vor%     
Greg Guida 15.10.2011 07:10
quelle
3

Ich denke, der wichtige Punkt hier ist, dass Sie richtig verstehen, was auf der Seite des JavaScript-Clients vor sich geht. Der Datentyp, der auf der JavaScript-Clientseite eintrifft, ist eine JSON-Zeichenfolge. JSON (= JavaScript Object Notation) kann direkt mit JavaScript interpretiert werden.

Ein JavaScript-Objekt sieht folgendermaßen aus:

%Vor%

Sie können auf die Eigenschaften eines JavaScript-Objekts entweder auf eine etwas Dictionary-ähnliche Weise wie

zugreifen %Vor%

oder direkt (Eigenschaftsnotation)

%Vor%

Stattdessen würde eine ähnliche JSON-Zeichenfolge wie

aussehen %Vor%

Um nun die JSON-Zeichenfolge in ein JavaScript-Objekt zu konvertieren, müssen Sie es analysieren. jQuery macht dies bereits für Sie, andernfalls können Sie JSON.parse(aJsonString) aufrufen und Sie erhalten ein gültiges JavaScript-Objekt.

Hier habe ich ein kurzes Beispiel: Ссылка

    
Juri 15.10.2011 07:32
quelle