Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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#_Json_Json.net - Fatal编程技术网

C# 安全地构建JSON

C# 安全地构建JSON,c#,json,json.net,C#,Json,Json.net,我正在运行一个返回动态构建JSON的项目。 最近,我发现回车符返回,并用双引号将JSON字符串引为无效(无法通过AJAX加载)。我现在正在替换有问题的参数,删除任何双引号,诸如此类,但我觉得我在玩打鼹鼠游戏 有更好的办法吗 例如,在XML中,如果我正在构建一个节点,我可以调用setAttribute(strMyJunkyString),它可以安全地创建一个永远不会破坏XML的属性,即使它有特殊的字符、实体等 是否有某种MakeStringJSONSafe()函数,用于删除任何会破坏数组的内容([

我正在运行一个返回动态构建JSON的项目。 最近,我发现回车符返回,并用双引号将JSON字符串引为无效(无法通过AJAX加载)。我现在正在替换有问题的参数,删除任何双引号,诸如此类,但我觉得我在玩打鼹鼠游戏

有更好的办法吗

例如,在XML中,如果我正在构建一个节点,我可以调用setAttribute(strMyJunkyString),它可以安全地创建一个永远不会破坏XML的属性,即使它有特殊的字符、实体等

是否有某种MakeStringJSONSafe()函数,用于删除任何会破坏数组的内容([{}”\r\n])

下面是我的程序正在创建的两个断字符串示例

// String built with " included.
var t1 = [{"requestcomment":"Please complete "Education Provided" for all Medications "}];

// String built with returns embedded included.
var t2 = [{"requestcomment":"Please complete 
    Education Provided 
    History
    Allergies
    "}];
使用

而且

var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(new { requestcomment = "Please complete\nEducation Provided\nHistory\nAllergies" });

用php编写一个数组,使用json_编码并保存数据。如果你想测试你的json语法,有很多工具可以验证它的有效性(只是有时会失败)。我正在添加用户内容,我想确保它是“干净的”“从JSON perspective.BTW来看,我使用的是.NET和JSON.netOK,总是先考虑构建数组,然后再将它们转换为JSON。请看这里,这是我迄今为止使用过的一个非常好的库。@Brendan,谢谢。我最终编写了自己的清理函数,它变得越来越智能。你的答案是我原来问题的最佳答案。不幸的是,这不适用于我,因为我的数据集同时包含stings和JSON,我希望将它们作为JSON返回到浏览器。有什么想法吗?你能把你想做的事情的要点贴出来吗?我不会尝试将手工编码的JSON与生成的代码混合在一起,而只是尝试使用JSON.NET创建它们。也许您可以使用JSON.NET解析现有的JSON,然后从中创建输出?因此,我有一个简单的数据结构(调查问题和答案),它存储在我的数据库中的JSON中。我也有一些元数据(谁参加了调查,日期和时间等)。我将把一些调查结果返回到浏览器,这样人们就可以查看答案并重新提交。我当前运行SQL查询并获取一个XML数据集。然后,我使用XML并使用XSL转换为JSON。我的“json.xsl”检查字段的名称,并知道如何将一些字段设置为字符串,将其他字段设置为json。
var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(new { requestcomment = "Please complete\nEducation Provided\nHistory\nAllergies" });