0
我正在下載json數據,需要處理3個不同的情況,如下所示。綁定時可能有多個可能的有限值
這是我的JSON。正如可以看到,parts
可以是3個不同的東西:
一個
null
,一個
object
保持陣列,或
object
持有object
這裏是JSON:
如果顯示部分是 -{
"page_number": "1",
"page_size": "10",
"page_count": "7",
"cars": {
"car": [
{
"parts": null, <-- NULL
"model": "Honda"
},
{
"parts": { <-- OBJECT HOLDING ARRAY OF 2 OR MORE PARTS
"part": [
{
"name": "muffler"
},
{
"name": "gas pedal"
}
]
},
"model": "VW"
},
{
"parts": { <-- OBJECT HOLDING A PART OBJECT
"part": {
"name": "windshield"
}
},
"model": "Toyota"
}
]
}
}
我處理JSON時,上述
- N/A <需要獲得所有汽車所有部件的一部分的名字,讓我在我的文本框3以下得到顯示NULL
- 消聲器,油門踏板< - 顯示如果份陣列的一部分對象
- 擋風玻璃< - 顯示如果零件是部分對象
到目前爲止,我正在使用WebClient獲取所有JSON數據。我添加了Newtonsoft.Json塊。
UPDATE:
我去json2csharp和生成的類這樣的上述JSON基於:
public class Parts
{
public object part { get; set; }
}
public class Car
{
public Parts parts { get; set; }
public string model { get; set; }
}
public class Cars
{
public List<Car> car { get; set; }
}
public class RootObject
{
public string page_number { get; set; }
public string page_size { get; set; }
public string page_count { get; set; }
public Cars cars { get; set; }
}
我的窗口DataContext
設置爲我的ViewModel和我正在和顯示所有數據正確的除了汽車零件。我試圖這樣但是這本身明顯地結合不能處理3案件上方「:
<TextBox Name="txtCarParts" Text="{Binding Path = Parts.part}"/>
綁定像這表明無論是空字符串或該:
這是不期望System.Collections.Generic.List'1[CarsApp.part]
。
問題是什麼?你不能解析JSON,或者你有綁定的問題? – A191919
如果'part'包含'Array',你想顯示什麼? – AnjumSKhan
在您的Parts類中重寫'ToString()'方法,並提供所有3種情況的字符串表示形式。 – AnjumSKhan