Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 字符串/JSON文件的哈希表_C#_Asp.net_Json_Visual Studio 2010 - Fatal编程技术网

C# 字符串/JSON文件的哈希表

C# 字符串/JSON文件的哈希表,c#,asp.net,json,visual-studio-2010,C#,Asp.net,Json,Visual Studio 2010,我在VisualStudio2010中使用哈希表(家庭作业个人调查) 我需要创建一个包含哈希表内容的json类型文件 转换为字符串或直接转换为json都可以。 已经有一个包含键value的哈希表 string hashtable_data = string.Join(",", data.Keys.Cast<object>(). Select(x => x.ToString()).ToArray()); string hashtable_data=string.J

我在VisualStudio2010中使用哈希表(家庭作业个人调查) 我需要创建一个包含哈希表内容的json类型文件 转换为字符串或直接转换为json都可以。 已经有一个包含键value的哈希表

   string hashtable_data = string.Join(",", data.Keys.Cast<object>().
   Select(x  => x.ToString()).ToArray());
string hashtable_data=string.Join(“,”,data.Keys.Cast()。
选择(x=>x.ToString()).ToArray());
居留代码只按向后顺序保存钥匙。
无法将值添加到字符串中,如何添加键和值?

由于字典继承了一个
IEnumebable
接口,您可以使用standart linq
选择
,如下所示:

string hashtable_data = string.Join(",", data.Select(
    x  => "\"" + x.Key + "\":\"" +x.Value+"\""
    ).ToArray());
但是,您必须非常小心JSON语法:

  • 在键和值中转义
  • 像上面的例子一样处理
    中的字符串值
  • 所有其他对象,如数字,对象不带“.”
  • “undefined”不是有效的JSON值
  • 我相信还有更多的规则
为此,我将使用一些方法(反)序列化完全有效的JSON