2

JSON を返す URL があります。URLを送信してjsonデータを取得し、それを文字列に変換してデータを抽出するWindows Phoneでアプリを開発しています。json.net をダウンロードして json データを読み取りました。
データを逆シリアル化する必要がありますか..それは必要ですか?
データを文字列形式で取得して解析することはできませんか。

次のコードを使用して、文字列形式の json データを読み取ります。

Array Movies = jObject["movies"].ToArray();
foreach (JToken Movie in Movies)
    MessageBox.Show(Movie["title"].ToString());

json は次のようになります。

この映画は、マイク (テイタム) が、ザ キッド (ペティファー) と呼ばれる若いダンサーを傘下に置き、パーティー、女性のナンパ、簡単な金儲けの芸術を彼に教えていく様子を追っています。-- (C) Warner Bros.","posters":{"thumbnail":"http://content8.flixster.com/movie/11/16/66/11166610_mob.jpg","profile":"http: //content8.flixster.com/movie/11/16/66/11166610_pro.jpg","詳細":"http://content8.flixster.com/movie/11/16/66/11166610_det.jpg","オリジナル":"http://content8.flixster.com/movie/11/16/66/11166610_ori.jpg"},"abridged_cast":[{"名前":"チャニング・テイタム","id":"162661835" ,"characters":["Magic Mike"]},{"name":"Alex Pettyfer","id":"326298019","

`

私は映画の名前とタイトルだけが欲しいです。

4

1 に答える 1

0

あなたの質問が「逆シリアル化する必要がありますか」である場合、答えは「いいえ」です。必要ありません。

とはいえ、JSON 文字列を厳密に型指定されたオブジェクトに逆シリアル化することは、実行時エラーを減らし、コードのテストを容易にするため、データ サーバー側で作業する場合によく好まれます。

JSON.Netを使用した例:

public class Movie
{
    public string Name { get; set; }
    public string Title { get; set; }
}

public Movie Convert(string jsonString)
{
    return JsonConvert.DeserializeObject<Movie>(jsonString);
}

JSON をオブジェクトに逆シリアル化するための他のオプションがあります。JSON オブジェクトを表す DataContract がある場合は、 DataContractJsonSerializer を使用できます

于 2012-10-23T14:39:52.800 に答える