安全地构建JSON

时间:2014-07-17 23:39:48

标签: c# json json.net

我正在运行一个动态返回动态构建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
    "}];

1 个答案:

答案 0 :(得分:2)

使用JSON.NET

var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(new { requestcomment = "Please complete \"Education Provided\" for all Medications" });

和...

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