Coldfusion 9 序列化JSON()
Coldfusion 9 serializeJSON()
每当我在 cf9 中使用 serializeJSON 时,JSON 都会在 returns 前加上“//”。这非常令人沮丧,因为即使是 coldfusion 也会在尝试将其解码为 json 时抛出错误。例如:
var a = { stuff = 'some content' };
a = serializejSON( a ); // the content of a is now: //{"STUFF":"some content"}
b = deserializeJSON( a );
上面的代码会抛出类似 'unable to parse character at position 1: /' 的错误。为了完成这项工作,我必须进行字符串替换并将 '' 换成 '//'。
我似乎找不到关于这个问题的任何信息。这是某种我不理解但按预期工作的功能吗?我是否缺少某种可以解决此问题的设置?
您可以在 ColdFusion 管理员中禁用此功能。转到服务器设置 > 设置并取消选中 Prefix serialized JSON with
但是,如果您关闭此功能,则存在安全隐患。这有助于保护您的 JSON 数据免受跨站点脚本攻击,并且在 Whosebug answer
中有更深入的解释
快速更新:之前有人向 Adobe 提交了错误票以禁用 SerializeJSON
函数的安全 JSON 前缀,形式为属性..
从那时起,Adobe 不得不将属性 useSecureJSONPrefix
添加到 SerializeJSON
函数中。
这样您就可以在 ColdFusion Administrator 中保留安全设置,并在不需要的地方将其禁用。
每当我在 cf9 中使用 serializeJSON 时,JSON 都会在 returns 前加上“//”。这非常令人沮丧,因为即使是 coldfusion 也会在尝试将其解码为 json 时抛出错误。例如:
var a = { stuff = 'some content' };
a = serializejSON( a ); // the content of a is now: //{"STUFF":"some content"}
b = deserializeJSON( a );
上面的代码会抛出类似 'unable to parse character at position 1: /' 的错误。为了完成这项工作,我必须进行字符串替换并将 '' 换成 '//'。
我似乎找不到关于这个问题的任何信息。这是某种我不理解但按预期工作的功能吗?我是否缺少某种可以解决此问题的设置?
您可以在 ColdFusion 管理员中禁用此功能。转到服务器设置 > 设置并取消选中 Prefix serialized JSON with
但是,如果您关闭此功能,则存在安全隐患。这有助于保护您的 JSON 数据免受跨站点脚本攻击,并且在 Whosebug answer
中有更深入的解释快速更新:之前有人向 Adobe 提交了错误票以禁用 SerializeJSON
函数的安全 JSON 前缀,形式为属性..
从那时起,Adobe 不得不将属性 useSecureJSONPrefix
添加到 SerializeJSON
函数中。
这样您就可以在 ColdFusion Administrator 中保留安全设置,并在不需要的地方将其禁用。