Windows Phone での Json 解析のサンプルを作成しています。応答文字列を解析するために、Json.Net ( json.codeplex.com/releases/view/78509 ) ライブラリを使用しています。しかし、解析中に例外が発生しています。例外は、「JSON 配列を 'System.String 型に逆シリアル化できません」です。以下にコードを掲載しています。
私が得ているJSON応答
[{"runtime": ["194 min"], "rating": 7.6, "genres": ["ドラマ", "ロマンス"], "rated": "PG_13", "language": ["English", "フランス語"、"ドイツ語"、"スウェーデン語"、"イタリア語"、"ロシア語"]、"タイトル": "タイタニック"、"filming_locations": "サンタクラリタ、カリフォルニア、USA"、"ポスター": " http:/ /ia.media-imdb.com/images/M/MV5BMjExNzM0NDM0N15BMl5BanBnXkFtZTcwMzkxOTUwNw@@._V1._SY317_CR0,0,214,317_.jpg ", "imdb_url": " http://www.imdb.com/title/tt0120338/"、"writers": ["James Cameron"]、"imdb_id": "tt0120338"、"directors": ["James Cameron"]、"rating_count": 426376、"actors": ["Leonardo DiCaprio"、"Kateウィンスレット」、「ビリー・ゼイン」、「キャシー・ベイツ」、「フランシス・フィッシャー」、「グロリア・スチュアート」、「ビル・パクストン」、「バーナード・ヒル」、「デビッド・ワーナー」、「ビクター・ガーバー」、「ジョナサン・ハイド」、「スージー」 Amis", "Lewis Abernathy", "Nicholas Cascone", "Anatoly M. Sagalevitch"], "plot_simple": "17 歳の貴族が、母親から金持ちの請求者と結婚することを期待され、恋に落ちます。豪華で不運な RMS タイタニック号に乗った親切だが貧しい芸術家.", "年":1997、「国」: [「アメリカ」]、「タイプ」: 「M」、「リリース日」: 19980403、「また既知の名前」: [「3D のタイタニック」]}]
そして、解析コードは
private void ParseResult(string input)
{
var root = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject1[]>(input);// here getting the exception "Cannot deserialize JSON array into type 'System.String"
}
オブジェクトクラスは
public class RootObject1
{
public string runtime { get; set; }
public int rating { get; set; }
public string rated { get; set; }
public string title { get; set; }
public string poster { get; set; }
public string imdb_url { get; set; }
public string writers { get; set; }
public string imdb_id { get; set; }
}
ありがとう。