===== 2016 年 8 月 20 日更新 =====
最新版本的 fastjson 现在可以
Dictionary<string, ?>
正确处理类型,我的问题现在解决了。==============================
我正在使用 fastjson 序列化来自 Dapper 的查询结果,DB 中的表具有如下数据:
id | name | price
1 | x | 100
2 | y | 200
....
当我
using Dapper;
using fastJSON;
// ....
JSON.Parameters.KVStyleStringDictionary = false;
// ....
result = JSON.toJSON(conn.Query("SELECT * FROM tableX"));
我希望结果是:
[{"id":1,"name":"x","price":100},{"id":2,"name":"y","price":200},...]
但是实际结果输出:
[[{"Key":"id","Value":1},{"Key":"name","Value":"x"},{"Key":"price","Value":100}],
[{"Key":"id","Value":2},{"Key":"name","Value":"y"},{"Key":"price","Value":200}]...]
生成了许多看起来多余的键值对。
有没有办法得到正确的结果?
或者我应该切换到另一个 JSON 序列化器?
========== 更新 ==========
makubex88 的回答表明我可以创建一个映射表的自定义类并用于conn.Query<myClass>
获取正确的 json,虽然它适用于这种情况,但看起来我必须为 DB 中的每个表创建数百个类才能获得理想的 json 结果,这对我来说确实是件累人的工作。(无论如何感谢:P)
任何替代解决方案将不胜感激!