0

強く型付けされたリストと辞書でうまく機能する、C#.NET用のセットアップが簡単なJSONライブラリが必要です。軽量で持ち運びに便利なfastJSONを使っています。ただし、メソッドToJSONとは、。ToObjectなどの強く型付けされたオブジェクトで常に機能するとは限りませんList<string>。以下を正しく実行できる単純なライブラリが必要です。

// parse a JSON file
List<string> names = JSON.parse<List<string>>(json1);
Dictionary<string, int> ids = JSON.parse<Dictionary<string, int>>(json);

// stringify an object
string json = JSON.stringify(names);
string json = JSON.stringify(ids);

明らかに、理想的なライブラリは高速(数百MBのJSONにスケーリングするのに十分な速度)であり、移植可能(小さなコード、依存関係なし)である必要がありますが、大騒ぎすることはありません。私は今かなり必死なので、うまくいくものは何でも大丈夫です。

4

2 に答える 2

4

http://james.newtonking.com/projects/json-net.aspxが通常の答えですが、他にもたくさんあります。

        List<string> names = new List<string>() {"Mike","Joe","Jane"};
        Dictionary<string, int> ids = new Dictionary<string, int>()
                                          {
                                              {"Mike",1},
                                              {"Joe",2},
                                              {"Jane",3},
                                          };

        // ["Mike","Joe","Jane"]
        string nameJson = Newtonsoft.Json.JsonConvert.SerializeObject(names);

        //{"Mike":1,"Joe":2,"Jane":3}
        string idsJSon = Newtonsoft.Json.JsonConvert.SerializeObject(ids);
于 2012-07-31T17:00:02.050 に答える
2

ServiceStack.Textを確認してください:https ://github.com/ServiceStack/ServiceStack.Text

私はいくつかのプロジェクトでそれを使用しました、そしてそれはかなり良いです。

wikiページから:

ServiceStack.Textは、独立した、依存関係のないシリアル化ライブラリであり、以下を含むServiceStackのすべてのテキスト処理機能が含まれています。

JsonSerializer
TypeSerializer (JSV-Format)
CsvSerializer
T.Dump extension method
StringExtensions - Xml/Json/Csv/Url encoding, BaseConvert, Rot13, Hex escape, etc.
Stream, Reflection, List, DateTime, etc extensions and utils
于 2012-07-31T17:00:35.730 に答える