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