解析Resellerclub HTTP API响应的最简单方法

时间:2012-04-30 11:15:02

标签: c# parsing dns deserialization

以下是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#中解析此响应的最简单方法是什么?

2 个答案:

答案 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。