如何将Json转换为数组c#

时间:2018-02-18 13:39:57

标签: c# .net json

我一直在尝试将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"];

2 个答案:

答案 0 :(得分:2)

<强>用法:

jObject["urls"]["phone"].ToObject<PhoneEntry[]>()

<强>类别:

public class PhoneEntry {
    [JsonProperty("url")]
    public string Url { get; set; }

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

答案 1 :(得分:0)

我从未真正使用过Newtonsoft.Json,但以下内容对您有用:

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