如何使用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)