以下是ResellerClub的HTTP API检查域可用性的http请求:
https://test.httpapi.com/api/domains/available.json?auth-userid=166694&auth-password=span2012&domain-name=prasadvemala&domain-name=prasadvemala2&tlds=com&tlds=com
以下是对它的回复:
{"prasadvemala.com":{"status":"available","classkey":"domcno"},"prasadvemala2.com":{"status":"available","classkey":"domcno"}}
在C#中解析此响应的最简单方法是什么?
答案 0 :(得分:0)
IMO,Json.net最适合快速和脏的Json解析:
var jObj = JObject.Parse(responseString);
var val = jObj["prasadvemala.com"]["status"].Value<string>();
它也可以作为nuget package使用。
修改
如果您想枚举整个回复:
var everythingDictionary = jObj
.Properties()
.Select(p => new{
key=p.Name,
value=new{
status=p.Value["status"].Value<string>(),
classkey=p.Value["classkey"].Value<string>()}})
.ToDictionary(x => x.key,x => x.value);
foreach(var k in everythingDictionary.Keys)
{
var name = k;
var status = everythingDictionary[k].status;
var classkey = everythingDictionary[k].classkey;
}
答案 1 :(得分:0)
我发现this article中的JSON解析器非常适合JSON结构可能具有动态命名属性的场景。它返回所有属性和子对象的简单嵌套Hashtables。