2013-12-20 7 views
0

Я использую Apache Cordova в своем приложении Windows Phone, и мне нужно получить строковые значения в объекте JSON.Извлечь ключ из строки JSON

Как я могу получить «версию» json key?

я пытаюсь сделать это, но безрезультатно ..

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"] 
+1

Посмотрите здесь: http://stackoverflow.com/questions/9680631/json-deserializing-for-windows-phone – Ben

ответ

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

+0

+1 За 'Bad Boys' ссылки. – gleng

+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; 
Смежные вопросы