如何使用 fastJSON(或其他一些 JSON 库,可能)将一些数据转储为字典格式,例如{"key1": "valstring", "key2": 1234}
?
如果我尝试倾倒Dictionary<string, Object>
,我会得到类似的东西[{"k":"key1","v":"valstring"},{"k":"key2","v":1234}]
。
我们在办公室使用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" }
您只需使用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}
(fastJSON)您需要使用一些参数参数:
_jsonParameters = new JSONParameters
{
EnableAnonymousTypes = true,
SerializeToLowerCaseNames = true,
UseFastGuid = false,
KVStyleStringDictionary = false <---- THIS
};
}
JSON.ToJSON(obj, _jsonParameters)