我正在进行查询并得到类似这样的结果,我将其放入Hashtable中
{"success":"true", "result":[{"type":"email", "address":"aaasd@asd.com"},{"type":"email", "address":"aaasddee@dse.com"}]}
然后我做
return hashtable["result"];
所以我只剩下这个了
[{"type":"email", "address":"aaasd@asd.com"},{"type":"email", "address":"aaasddee@dse.com"}]
但我的问题是我不知道如何遍历"结果"填写我自己的对象。我正在寻找解决方案,但我找到的唯一答案是使用
foreach(DictionaryEntry entry in searchResult) {
//do something<br>
}
当我像这样迭代Hashtable时,我只能使用属性entry.Key
和entry.Value
,但我不能说出我需要的特定键的值。欢迎任何建议。
答案 0 :(得分:0)
创建一个与结果集合的签名匹配的类,如:
public class Result
{
public string Type { get; set; }
public string Address { get; set; }
}
然后使用Json.NET将结果节点解析为List<Result>
。有很多关于如何使用Json.NET库的文档。
希望有所帮助, 罗布
答案 1 :(得分:0)
您可以使用JSON.NET进行反序列化,如下所示: -
var result = JsonConvert.DeserializeObject<dynamic>(searchResult);
您可以像下面这样创建您的课程: -
public class RootObject
{
public string type { get; set; }
public string address { get; set; }
}
有关更多信息: -
http://james.newtonking.com/json/help/index.html?topic=html/SerializingJSON.htm