我有一個JSON文件中像這樣單獨提供:反序列化JSON陣列與鍵的字典從JSON
{
"price": ["123.50", "124.6", "126.30"],
"order": ["23", "30", "20"]
}
我想,以填補我的對象Product
:
public class Product {
public Dictionary<string, Object> priceInfo;
public Dictionary<string, Object> orderInfo;
}
我有各JSON對象每個值的描述(這裏有數組)可能在Product
類中,例如:
String[] defPriceInfo = {"price", "avgprice", "maxprice"};
最後,我將訪問Product
對象的這些數值與priceInfo.TryGetValue("avgprice", ...)
,它將返回給我,我中搜索堆棧溢出值
124.6
,但我沒有找到一個類似的問題。 其實我試圖覆蓋JsonConverter.ReadJson
,但它沒有奏效;問題是我想要的個性化「鑰匙」。
編輯1:我有這個ReadJson()
方法,但這是錯誤的。
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
object res = new Object();
var tokenType = reader.TokenType;
if (tokenType == JsonToken.StartObject)
{
object obj = serializer.Deserialize(reader);
res = new Dictionary<string, string>();
}
else if (tokenType == JsonToken.StartArray)
{
res = serializer.Deserialize(reader);
}
return res;
}
你說的*也許在Item類意味着*?你的問題中沒有'Item'類。你是不是指'Product'類?如果是這樣,你能給出一個[完整的例子](https://stackoverflow.com/help/mcve)你想要以這種方式序列化和反序列化的類,以及你在'ReadJson()'中嘗試過的東西嗎? – dbc
對不起,我改變了項目的產品錯誤。我的意思是說「也許」不是最好的解決方案。但實際上我看到的只是解決方案。我也想用文件加載信息。我會發布我的嘗試。我試過的解決方案的問題是,我不知道如何在我的課程中爲我讀取的每個值傳遞「鍵」描述符。 – Neyoh
@dbc我加了我的例子,但這是完全錯誤的。我不明白這是如何工作的 – Neyoh