我是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#中有类似且简单的代码,它具有相同的输出并且易于使用吗? 感谢您的帮助。
答案 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);