-1

wp7 アプリケーションを構築しています。連続した tcp ストリームからの JSON 文字列を解析したいです。ストリームから解析できる json パーサーが必要です。ストリームから解析する SAX JSON パーサーはありますか。tcp を探しています。ストリーム パーサー。これはサーバーからの連続ストリームです。そして、ストリームを解析し、その場で JSON オブジェクトを生成したいと考えています。

4

1 に答える 1

0

JSON.NET ライブラリを使用できます。ここから入手できます: http://json.codeplex.com/

JSON.NETのこれらの機能をコードプレックスから述べます

  • .NET オブジェクトと JSON の間で変換するための柔軟な JSON シリアライザー
  • JSON を手動で読み書きするための LINQ to JSON
  • 高性能、.NET の組み込み JSON シリアライザーより高速
  • インデントされた読みやすい JSON を記述します
  • JSON を XML との間で変換する
  • .NET 2、.NET 3.5、.NET 4、Silverlight、Windows Phone、および Windows 8 をサポートします。

ここに小さな例があります:

public class MyClass
  {
    public string MyProperty;
    public string[] MyArray;        
  }
string json = JsonConvert.SerializeObject(new MyClass() { MyProperty = "Test",  MyArray = new string[] { "Test1", "Test2" } });
    //{"MyProperty":"Test","MyArray":["Test1","Test2"]}"

編集

以下に少し例を示します。

      System.Net.WebClient client = new System.Net.WebClient();
      using (var stream = client.OpenRead(url))
      {      
        byte a = 0;
        var list = new List<byte>();
        do{
          a = (byte)stream.ReadByte();
          list.Add(a);
          if(/*Test if valid JSON string*/)
          {
            var str = System.Text.Encoding.UTF8.GetString(list.ToArray());
            JsonConvert.DeserializeObject<MyClass>(str);
          }
        }while(a != -1)
      }

TcpClient を使用して接続できます。この質問を確認してくださいTCP経由で購読し、受信した各JSON行を逆シリアル化します

于 2013-07-23T09:41:31.367 に答える