diese json Bedenken Sie:JSON.net SelectToken() mit Apostroph in Pfad
{
"farms": [
{
"fred's": {
"cows": 5,
"pigs": 2,
"horses": "none"
}
}, {
"old mcdonald's": {
"cows": none,
"pigs": 1,
"horses": 3
}
}
]
}
Es scheint allein mit der Verwendung von einfachen Anführungszeichen kein Problem zu sein:
JObject j = new JObject();
JToken jt = j.SelectToken(farms.fred's);
jedoch Fehler auftreten, wenn man versucht, Verwenden Sie sowohl einfache Anführungszeichen als auch Leerzeichen.
Mit diesem Code:
JObject j = new JObject();
JToken jt = j.SelectToken(farms.old mcdonald's);
ich diesen Fehler habe:
[' ']
:
JsonException: Unexpected character while parsing path
Also habe ich einige der Suche und fand, dass Begriffe mit weißen Flächen müssen von umgeben sein
Beispiel:
JObject j = new JObject();
JToken jt = j.SelectToken(farms.['old mcdonald's']);
Doch jetzt ist der Fehler:
JsonException: Unexpected character while parsing path indexer: s
Ist es möglich, sowohl weißen Räume und einfache Anführungszeichen in dem SelectToken Pfad enthält?
Vielen Dank für die schnelle Antwort, aber ich bin immer noch ein Fehler. Während bei SelectToken kein Fehler mehr auftritt, gibt SelectToken jetzt null zurück. – fractal
@fractal Laden Sie LINQPad, https://www.linqpad.net herunter, kopieren Sie den Code und fügen Sie den Code ein, setzen Sie ** Sprache **: 'C# Statements 'und führen Sie ihn aus. Es sollte funktionieren. Ich vermute 'null' ist ein Hinweis darauf, dass ein Problem mit dem Code * in Ihrem Programm * vorliegt. Vielleicht fehlende 'Farmen [1]'. –
Sie haben Recht. Es war ein Problem mit Code in meinem Programm. Ich schätze die Hilfe sehr. – fractal