JavaScript/PHP Veteran, .NET Newbie hier.Wie JSON mit inkonsistentem Schema deserialisieren
Ich versuche, Json.NET zu verwenden, um JSON-Daten, die von einem API-Aufruf zurückgegeben werden, in einigen Klasseninstanzen zu deserialisieren.
Es funktioniert gut für die meisten API-Aufrufe, wenn das JSON-Schema konsistent ist und meinen Klassen entspricht. Aber ich habe ein paar JSON-Objekte, die wie folgt zurück:
"searchresult":{ "summary":{
"page":"1 of 451", "relevancy":"100% - 99%", "count":25, "query":"some search query" }, "0":{ "relevance":100, "id":343, }, "1":{ "relevance":99, "id":434, }, "2":{ ... } },
Was ist die beste Methode, ein inkonsistentes Schemas für die Handhabung, wie „Sucher“?
Ich habe ein "SearchResult" erstellt, das eine "Zusammenfassung" -Eigenschaft hat, aber ich bin mir nicht sicher, wie die restlichen Elemente zugeordnet werden.
Wenn Sie sagen, dass es inkonsistent ist, meinen Sie, dass es eine unterschiedliche Anzahl von Relevanz/Id-Paaren gibt? Sonst ist nichts inkonsequent, wenn wir nur eins sehen können. – Plutonix
Sie können in einem anonymen Objekt deserialisieren. Beziehen Sie sich auf diese Antwort https://StackOverflow.com/a/33284670/8438534 –
Es denken, dass es inkonsistent ist, weil Sie eine variierende Anzahl von integralen Eigenschaften und eine einzige benannte Eigenschaft "Zusammenfassung" innerhalb des "searchresult" -Objekts haben. Ich würde mir vorstellen, dass es besser wäre mit einer benannten Eigenschaft "Zusammenfassung" und einem Array von Schlüsselpaaren. – Firephp