2011-01-01 3 views
2

方法folowing JSON文字列をデシリアライズするためのAC#クラスでなければなりません:C#クラスJSONの結果を解析する

{ 
    "data": [ 
    { 
"id" : "id0012", 
    "comments": { 
     "data": [ 
      { 
       "id": "123", 
       "from": { 
       "name": "xpto", 
       "id": "5ddd" 
       }, 
       "message": "tttt", 
       "created_time": "2010-01-07T09:16:15+0000" 
      }, 
      { 
       "id": "222", 
       "from": { 
       "name": "wwwww", 
       "id": "343434" 
       }, 
       "message": "3333", 
       "created_time": "2020-07-07T09:30:12+0000" 
      } 
     ], 
     "paging": { 
      "previous": "prevlink", 
      "next": "nextLink" 
     } 
    } 
    } 

] }

おかげ

答えて

3

まあ、異なるJSONがたくさんあります.NET Frameworkのライブラリさまざまな実装の一覧については、C#セクションのjson.orgを参照してください。おそらく最もよく知られているライブラリはJson.NETで、シリアル化、LINQ、BSONなどをサポートしています! Json.NETでJSONを読むのを簡単に開始するには、Reading and Writing JSONをご覧ください。

+0

お返事ありがとうございます。しかし、この問題は、この特定のJSON文字列に関連しています。 – user285677

+1

@ user285677:だから、その文字列でJson.NETを使って試してみましたか?もしそうなら、何がうまくいかない? –

+0

"コメント"はメッセージの配列とページングクラスを持つ1つの辞書から成っているので、問題は私がjson文字列を直接C#クラスに変換することはできません。 – user285677

3

hangyが言うように、あなたは確かにその文字列を解析するためにJson.NETを使うことができます。例:

using System; 
using System.IO; 
using Newtonsoft.Json.Linq; 

namespace EvalTest 
{ 
    public class Test 
    { 
    static void Main(string [] args) 
    { 
     string text = File.ReadAllText("test.txt"); 
     var json = JObject.Parse(text); 

     var data = json["data"]; 
     Console.WriteLine((string) data[0]["id"]); 
    } 
    } 
} 

さらに詳しいヘルプが必要な場合は、さらに具体的な質問をする必要があります。

+0

私は分かりませんが、OPのようなものにシリアル化するクラスを求めるのとほぼ同じです。 – Rytmis

0

私はこのツールJsonclassgeneratorを使用しています。これは、入力Json文字列のC#クラスを生成する可能性があります。生成された正確なクラスを使用する必要はありません。しかし、あなたはクラスのフォーマットを見ることができ、あなたのプロジェクトで同様のものを作成することができます。