2009-05-11 19 views
0

Ich erstelle ein JsonArray wie:JsonArray in Silverlight Javascript

JsonArray jsonValues = new JsonArray(); 
for(int i = 0; i < values.Count; i++) 
{ 
    var someSingleValue = values[i]; 
    jsonValues.Add(string.Format("Name: {0}", someSingleValue)); 
} 

Danach habe ich json Werte meiner Javascript in ASPX-Seite über Anruf bin Versand: HtmlPage.Window.Invoke (“ Ruf ", jsonValues);

Der Anruf funktioniert und es wird dort, aber ich habe keine Ahnung, wie über diese Werte iterieren, d. H. Extrahieren Sie sie. Ich habe versucht: (in Javascript)

for (var x in somevalues){ alert(somevalues); }  

ich auch versucht:

for(var i = 0; i < somevalues.length; i++) { 
      alert(somevalues[i]); 
      } 

aber es stürzt ab (in beiden Fällen) irgendwelche Ideen.?

+0

Wie wird die somevalues-Variablendeklaration auf der HTML-Seite gerendert? –

+0

somevalues ​​wird verwendet, um die Dropdown-Liste zu füllen. – ra170

+0

Das habe ich nicht gefragt - ich habe nicht gefragt, wofür es verwendet wird. Ich möchte wissen, was auf der Seite gerendert wird, um die Variable "somevalues" zu deklarieren und zu initialisieren. –

Antwort

1

Verwenden Sie die eval-Methode, um die Zeichenfolge zu einem JSON-Objekt zu serialisieren?

function call(somevalues){ 

    //somevalues is currently just a string. 
    var results = eval("(" + somevalues +")"); 

    //results now should contain your array as a JSON object.  

    //and you should be able to iterate over it at this point. 
    for(var i = 0; i < results.length; i++){ 
    alert(results[i]); 
    } 
} 
+0

Ich habe versucht, Eval zuvor, aber ich habe einen Fehler gemacht und keine Klammern "(" + ")". Vielen Dank! – ra170

+0

Ehrlich gesagt, sollten Sie eval nicht verwenden, sollten Sie einen sicheren JSON-Parser verwenden, um JSON in ein JavaScript-Objekt zu verwandeln. Google für sie, sie existieren und bieten Ihnen Schutz, die eval() nicht. –

+0

Guter Tipp, wenn eval nicht mit nicht vertrauenswürdigen Eingaben verwendet wird. Ich habe ein Projekt auf Google Code gefunden, das es tut, und vergleicht es mit einigen scheinbar üblicheren JSON-Parsern, die von json.org verfügbar sind: http://code.google.com/p/json-sans-eval/ – sgriffinusa

-1

somevalues ​​Unter der Annahme ist wirklich ein Array, tun Sie es wie folgt aus:

for(var i = 0; i < somevalues.length; i++) { 
    // do something with somevalues[i] 
} 

Was Sie war JavaScript tat sagen über die Eigenschaften des somevalues Objekts zu durchlaufen, die ähnlich, aber nicht das gleiche, wie die Iteration mit einer regulären for Schleife.


EDIT: Ich bin bereit, Ihre Variable zu wetten, ist somevalues eine Zeichenfolge. Mach einfach alert(somevalues) und schau was passiert.

+0

Ich habe das versucht und ich bekomme einen Fehler: Objekt unterstützt diese Eigenschaft oder Methode – ra170

+0

ja, es war eine Zeichenfolge. – ra170