我有一个mysql数据库和一个json列,其中存储的项目如下:
[{"key":"value"},{"key2","value2"},...}
如何处理这个问题并将其加载到c字典中?从字符串转换到字典时出错型号示例:
public class Person { string name; Dictionary<string, string> itens; }
tyg4sfes1#
Dictionary<string, string> dir = new Dictionary<string, string>(); string splitOn = "value"; dir = cnn.Query<string, string, KeyValuePair<string, string>>("YOUR_SP", (s, i) => new KeyValuePair<string, string>(s, i), null, null, false, splitOn, null, null) .ToDictionary(kv => kv.Key, kv => kv.Value);
x33g5p2x2#
必须创建自定义处理程序。我已经就那个问题写了详细的文章。https://medium.com/dapper-net/custom-type-handling-4b447b97c620https://medium.com/dapper-net/one-to-many-mapping-with-dapper-55ae6a65cfd4github上也提供了示例:https://github.com/yorek/dapper-samples我已经将SQLServer用作rdbms,但所有内容都应按原样应用于mysql
eimct9ow3#
你需要先选择它。dapper不支持这种开箱即用的方式。然后可以使用newtonsoft.json(nuget包)并使用它的反序列化程序,如下所示:
myPerson.itens = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
参考文献:https://www.newtonsoft.com/json/help/html/deserializedictionary.htm
3条答案
按热度按时间tyg4sfes1#
x33g5p2x2#
必须创建自定义处理程序。我已经就那个问题写了详细的文章。
https://medium.com/dapper-net/custom-type-handling-4b447b97c620
https://medium.com/dapper-net/one-to-many-mapping-with-dapper-55ae6a65cfd4
github上也提供了示例:
https://github.com/yorek/dapper-samples
我已经将SQLServer用作rdbms,但所有内容都应按原样应用于mysql
eimct9ow3#
你需要先选择它。dapper不支持这种开箱即用的方式。然后可以使用newtonsoft.json(nuget包)并使用它的反序列化程序,如下所示:
参考文献:https://www.newtonsoft.com/json/help/html/deserializedictionary.htm