Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C字典在Dapper中映射来自银行的JSON?_C#_Mysql_Json_Dictionary_Dapper - Fatal编程技术网

C# 如何使用C字典在Dapper中映射来自银行的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.

我有一个MySQL数据库和一个JSON列,其中存储的项目如下:

[{"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);