17

最新のホットフィックス (4) を適用した ColdFusion 9.0.1 を使用しています。すべての JSON データを引用符で囲んで (文字列として) 返すには、ColdFusion が必要です。次の問題があります。

<cfset test = StructNew()>
<cfset test.name = "1234.100">
<cfoutput>#SerializeJSON(test)#</cfoutput>

出力されるテキストは次のとおりです。

{"name":1234.100}

すべての JavaScript JSON パーサーはそれを 1234.1 に変換し、末尾の 0 を保持していません。文字列として出力する ColdFusion か、末尾の 0 を保持する JavaScript パーサーが必要です。何か案は?

これは簡単な例です。このデータをデータベースから取得しています。

4

5 に答える 5

8

これが解決策です-非常にハックで洗練されていない解決策ですが...

あなたのセットアップ:

var test = {
  name = "1234.100"
};

明らかな文字列を先頭に追加すると、値が JSON に変換されるときに強制的に文字列になります。次に、この醜い文字列を取り除きます。

var thisIsSuchAHorribleHack = "(!@$!@$)";
test.name = thisIsSuchAHorribleHack & test.name;
var serializedTest = SerializeJSON(test);
serializedTest = Replace(serializedTest, thisIsSuchAHorribleHack, "", "ALL");
writeOutput(serializedTest);
于 2014-04-02T19:24:22.213 に答える