Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Json转换为数组c#_C#_.net_Json - Fatal编程技术网

如何将Json转换为数组c#

如何将Json转换为数组c#,c#,.net,json,C#,.net,Json,我一直在尝试将Json响应转换为C#Array,问题是Json从我的脑海中浮现出来,我不理解它的结构,因为它对我来说太乱了。 下面是我作为Json的响应示例 { "status":"ok", "urls":{ "phone":[ { "url":"tel:+9230154XXXXX", "uri":"+9230154XXXXX" } ], "sms":{

我一直在尝试将Json响应转换为C#Array,问题是Json从我的脑海中浮现出来,我不理解它的结构,因为它对我来说太乱了。 下面是我作为Json的响应示例

{
   "status":"ok",
   "urls":{
      "phone":[
         {
            "url":"tel:+9230154XXXXX",
            "uri":"+9230154XXXXX"
         }
      ],
      "sms":{
         "url":"sms:+9230154XXXXX",
         "uri":"+9230154XXXXX"
      },
      "vcf":"https:\/\/www.eac.com\/i2\/ajax\/item\/vcf\/"
   },
   "limitExceeded":false
}
现在,我想要从这个Json短信:+9230154XXXXX这个值。 在这个例子中,我使用的是Newtonsoft.Json。 到目前为止,我一直在尝试贝娄

JObject jObject = JObject.Parse(json);
JToken jphone = jObject["urls"];
number = (string)jphone["phone"]["sms"];

用法:

jObject["urls"]["phone"].ToObject<PhoneEntry[]>()
public class PhoneEntry {
    [JsonProperty("url")]
    public string Url { get; set; }

    [JsonProperty("uri")]
    public string Uri { get; set; }
}

我从未真正使用过Newtonsoft.Json,但以下内容应该适合您:

JToken token = JToken.Parse(json);
string number = (string)token.SelectToken("urls.sms.url")

您没有与JSON匹配的类吗?序列化它会很容易地为您提供所需的对象。我相信
stringnumber=(string)jphone[“sms”[“uri”]就是你想要的attempted@derloopkat救命人!非常感谢。修复了小错误。