0

如何使用 fastJSON(或其他一些 JSON 库,可能)将一些数据转储为字典格式,例如{"key1": "valstring", "key2": 1234}

如果我尝试倾倒Dictionary<string, Object>,我会得到类似的东西[{"k":"key1","v":"valstring"},{"k":"key2","v":1234}]

4

3 回答 3

1

我们在办公室使用Json.NET。我们在 python 和 C# 之间发送 json 对象。我们遇到了同样的问题,尽管我们的问题只是语言自然序列化的方式不同。

如果我没记错的话,最好的部分是它开箱即用。

var dict = new Dictionary<string, string>();
dict.Add("key", "val");
dict.Add("key2", "val2");

string json = JsonConvert.SerializeObject(dict);

json应该等于{ "key": "val", "key2": "val2" }

于 2011-12-02T07:51:25.403 回答
1

您只需使用JavaScriptSerializer来创建您的解决方案,它是 .Net 原生的。

var dict = new Dictionary<string, string>();
dict.Add("key", "val");
dict.Add("key2", "val2");

var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(dict);

你会得到你所期望的结果: {"key1": "valstring", "key2": 1234}

于 2011-12-02T08:38:55.423 回答
0

(fastJSON)您需要使用一些参数参数:

_jsonParameters = new JSONParameters
        {
            EnableAnonymousTypes = true,
            SerializeToLowerCaseNames = true,
            UseFastGuid = false,
            KVStyleStringDictionary = false <---- THIS
        };
    }

JSON.ToJSON(obj, _jsonParameters)
于 2015-06-18T15:57:25.180 回答