ich folgende gültige JSON-Daten haben (getestet von http://jsonlint.com/):Get Teilmenge von Daten aus JSON
{
"alpha": {
"one": 1,
"two": "2"
},
"bravo": {
"sample1": {
"one": "1",
"two": "2",
"three": 3
},
"sample2": [
{
"id": 123,
"content": "alpha",
"photos": [
{
"caption": "photo1",
"location": [
{
"url": "http://website.com/abc.jpg",
"width": 800,
"height": 600
},
{
"url": "http://website.com/def.jpg",
"width": 800,
"height": 600
}
]
},
{
"caption": "photo2",
"location": [
{
"url": "http://website.com/ghi.jpg",
"width": 800,
"height": 600
},
{
"url": "http://website.com/jkl.jpg",
"width": 800,
"height": 600
}
]
}
]
},
{
"id": 456,
"content": "bravo",
"photos": [
{
"caption": "photo3",
"location": [
{
"url": "http://website.com/mno.jpg",
"width": 800,
"height": 600
},
{
"url": "http://website.com/pqr.jpg",
"width": 800,
"height": 600
}
]
},
{
"caption": "photo4",
"location": [
{
"url": "http://website.com/stu.jpg",
"width": 800,
"height": 600
},
{
"url": "http://website.com/vwx.jpg",
"width": 800,
"height": 600
}
]
}
]
}
]
}
}
Ich mag würde die JSON-Daten zu einem Datensatz zu übergeben, damit ich es von Gridview-Steuerelement angezeigt werden soll.
Gibt es eine Möglichkeit, um nur Anzeigewerte innerhalb „sample2“ gefunden, wo ich folgendes anzeigen kann:
id content caption url
123 alpha photo1 http://website.com/abc.jpg
456 bravo photo3 http://website.com/mno.jpg
Ich verwende JSON.NET der JsonConvert den Wert aus einem Datensatz zu Gridview-Steuerelement zu übergeben
DataSet ds = new DataSet();
ds = JsonConvert.DeserializeObject<DataSet>("JSON file here");
GridView.DataBind();
aber einen Fehler zu erhalten:
Unexpected JSON token when reading DataTable. Expected StartArray, got StartObject. Path 'alpha'...
bin ich einige fehlt Ding? Bitte beraten. Vielen Dank.
@BWA Es ist ein lokaler Variablenname, der das json-Dokument enthält, aktualisiert. – user3185569