False字符串更改为布尔值

False字符串更改为布尔值

本文介绍了如何防止SerializeJSON将Yes/No/True/False字符串更改为布尔值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据结构以JSON格式存储,并使用serializeJSON函数进行了转换.我遇到的问题是,在CF中可以是布尔值的字符串(例如Yes,No,True和False)被转换为JSON作为布尔值.下面是示例代码.关于如何防止这种情况的任何想法?

I have a data struct being stored in JSON format, converted using the serializeJSON function. The problem I am running into is that strings that can be boolean in CF such as Yes,No,True,and False are converted into JSON as boolean values. Below is example code. Any ideas on how to prevent this?

代码:

<cfset test = {str='Yes'}>
<cfset json = serializeJSON(test)>
<cfset fromJSON = deserializeJSON(json)>

<cfoutput>
    #test.str#<br>
    #json#<br>
    #fromJSON.str#
</cfoutput>

结果:

Yes
{"STR":true}
YES

推荐答案

在字符串中添加一个额外的空格以防止将其转换为布尔值,然后在稍后阶段进行修剪.

Adding an extra space in the string to prevent it from being converted to boolean, then trim at a later stage.

这篇关于如何防止SerializeJSON将Yes/No/True/False字符串更改为布尔值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 15:20