从JSON String中提取键

时间:2013-12-20 13:04:20

标签: c# json cordova

我在Windows Phone应用程序中使用Apache Cordova,我需要在JSON对象中获取字符串值。

我怎样才能获得json键“版本”?

我尝试这样做但没有结果..

public void dispatcherEvent(string result)
{
    System.Diagnostics.Debug.WriteLine("EVENT received = " +result);

     try
     {
         string optVal = JsonHelper.Deserialize<string[]>(result)[0];
     }
     catch (Exception)
     {
          // simply catch the exception, we will handle null values and exceptions together
     }

}

实际上,输出控制台是:

EVENT received = ["{\"id\":2,\"name\":\"onConnectResult\",\"data\":\"[{\\\"version\\\":\\\"2.0.000.000\\\"}]\"}","ap246039464"]

2 个答案:

答案 0 :(得分:1)

看看Newtonsoft's JSON library。有了它,你可以做类似的事情:

 string json = @"{
  'Name': 'Bad Boys',
  'ReleaseDate': '1995-4-7T00:00:00',
  'Genres': [
    'Action',
    'Comedy'
  ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;
// Bad Boys

它也可以在Nuget

中找到

答案 1 :(得分:0)

您可以尝试使用JsonModel。我在像我这样的项目中使用它:

public class JsonModel
{
    [JsonProperty("version")]
    public string Version { get; set; }
}

现在,您可以使用JsonConvert.DeserializeObject<T>()来获取模型的强类型实例。

JsonModel model = JsonConvert.DeserializeObject<JsonModel>(result);
string version = model.Version;