JSON解码步骤 - c#

时间:2016-10-14 21:23:16

标签: c# php json web-services

我是c#的新手,但我在使用像PHP和Java这样的OOP时有很多经验。 我在我的c#代码中有一个HTTP Web响应,它返回一个JSON对象,我在线阅读了很多文章,我看到了一些有关JSON解码和其他方法的微软文档,但是,之前我使用过PHP,我知道有一种非常简单的方法可以这样做:

考虑到$response是来自Web服务的响应:

$json_string = json_decode($response,true);
$var = $json_string["test"]["country"];

我在网站上看到了一个类似的问题,它有一个答案:

dynamic response = JsonConvert.DeserializeObject(json);

Console.WriteLine("PropName:" +     response.data[1].attachment.properties[0].name);

foreach (var data in response.data)
{
    if (data.attachment != null)
    Console.WriteLine((string)data.attachment.name);
}

正如你在这里看到的那样,创建了一个动态对象来获取子对象(string)data.attachment.name,因此值名称是固定的,我想知道这个值是否可以是这样的字符串:

String 1="attachement";
String 2="name";
(string)responsedata.1.2;

我知道语法错误,1和2应该是动态类型。这些vapes可以像我在问题的开头给出的php示例一样。

c#中有类似且简单的代码,它具有相同的输出并且易于使用吗? 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用newtonsoft来解析json对象。

string json = @"{
   'Country': 'US',
   'State': IL,
   'CreatedDate': '2016-10-14T00:00:00Z'       
 }";

DefineYourObject obj = JsonConvert.DeserializeObject<DefineYourObject>(json);    
Console.WriteLine(obj.Country);