2017-05-05 8 views
0

Ich weiß, diese Art von Fragen sind in Hülle und Fülle, aber ein wenig Hilfe wäre nett.Kann JSON-Daten aus HTML-Eingabeelement nicht lesen. ASP.NET

So habe ich eine JSON als folgenden-

<input id='JSONdata' type='hidden' value='[ 
    { 
    "lat": 40.741895, 
    "lng": -73.989308, 
    "description": "<div class=\"map-popup\"><figure><img src=\"/images/default-source/default-album/img-000119d0a79213e34d3a8fba81594be76eb9.tmb-devthumb.jpg?sfvrsn=9998b2ca_1\"><figcaption><h4>\"Bowland house 3\"</h4><h5>\"\"</h5><a href=\"\" class=\"btn btn-success\">Find out more</a></figcaption></figure>/div>", 
    "icon": "/sf_images/ico-0005.svg" 
    }, 
    { 
    "lat": 40.741895, 
    "lng": -73.989308, 
    "description": "<div class=\"map-popup\"><figure><img src=\"/images/default-source/default-album/img-000119d0a79213e34d3a8fba81594be76eb9.tmb-devthumb.jpg?sfvrsn=9998b2ca_1\"><figcaption><h4>\"Bowland house\"</h4><h5>\"\"</h5><a href=\"\" class=\"btn btn-success\">Find out more</a></figcaption></figure>/div>", 
    "icon": "/sf_images/ico-0005.svg" 
    } 
]' /> 

Die von asp.net erzeugt wird, und auf der Seite geschrieben using-

Response.Write(string.Concat("<input id='JSONdata' type='hidden' value='", json, "' />"));

die here schriftliche Antwort Im Anschluss an. Ich habe versucht, den Wert zu lesen, indem

var jq = $.noConflict(); 
var json2 = jq('#JSONdata'); 
var JSONData = JSON.parse(json2.value); 

zu tun, aber ich bekomme die folgenden fehler-

enter image description here

Und nicht in der Lage, den Wert zu lesen, mich links mit meinem Kopf kratzen ....

Irgendwelche Ideen?

+0

Was passiert, wenn Sie alle doppelten Anführungszeichen entkommen, indem sie "mit " in Ihrem HTML zu ersetzen? – Krypton

+0

Nun, es ist von asp.net Code kommen kann‘ t so wirklich bauen es so als Doppelzitat und Single sind zwei verschiedene Dinge offenbar. Nur gelernt! – envyM6

+0

Was hat das mit C# oder asp.net zu tun? –

Antwort

1

Ersetzen Sie Ihre Linie

var JSONData = JSON.parse(json2.value); 

mit

var JSONData = JSON.parse(json2[0].value); 
+0

Danke Krypton .... das gibt die richtige JSON jetzt :). Auf der Randnotiz, wenn ich einen Teil der doppelten Anführungszeichen in der JSON ändern würde, wie würde ich herumgehen und es tun? wie ich will, dass die divs innerhalb der json in ein zitat verpackt werden. '"

"' Zu "
" – envyM6

0

Dies bedeutet, dass Ihre Variable json2.value nicht definiert ist. Du übergibst undefined in JSON.parse und da der erste Buchstabe u ist, heißt es 'Unexpected token u'.

+0

Auf Debug-Konsole kann ich tatsächlich sehen, dass var Json2 Wert hat so Warum ist json2.value undefiniert? – envyM6

+0

Was passiert, wenn Sie nur 'console.log (json2.value)' '? – Joey

+0

Ich bekomme 'Uncaught ReferenceError: json2 ist nicht definiert um : 1: 13' – envyM6

Verwandte Themen