C# 如何使用C字典在Dapper中映射来自银行的JSON?
我有一个MySQL数据库和一个JSON列,其中存储的项目如下:C# 如何使用C字典在Dapper中映射来自银行的JSON?,c#,mysql,json,dictionary,dapper,C#,Mysql,Json,Dictionary,Dapper,我有一个MySQL数据库和一个JSON列,其中存储的项目如下: [{"key":"value"},{"key2","value2"},...} 如何处理这个问题并加载到C字典中? 从字符串转换到字典时出错 模型示例: public class Person { string name; Dictionary<string, string> itens; } 您需要首先选择它。然后您可以使用Newtonsoft.JSON并使用它的反序列化程序,如下所示: myPerson.
[{"key":"value"},{"key2","value2"},...}
如何处理这个问题并加载到C字典中?
从字符串转换到字典时出错
模型示例:
public class Person
{
string name;
Dictionary<string, string> itens;
}
您需要首先选择它。然后您可以使用Newtonsoft.JSON并使用它的反序列化程序,如下所示:
myPerson.itens = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
参考:
您必须创建一个自定义处理程序。我写过关于这个问题的详细文章 GitHub上也提供了示例:
我已经使用SQL Server作为RDBMS,但所有内容都应该按原样应用于MySQL在Dapper的查询中会是什么样子?您应该首先从数据库中读取json,然后按如下所示进行反序列化,Marc Gravel批准:可能重复
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);