2013-09-16 2 views
13

IBM WebSphere MQ 호출을 통해 데이터를 처리합니다. ColdFusion 10 (10,0,11,285437)에 의해 serialize 된 경우 0이 +0.0으로 반환됩니다. JSON이며 deserialize 할 수 없습니다.플러스 기호 JSON을 유효하지 않은 JSON으로 serialize

stPolicy = { "prem": "+0.0" }; 
serializedData = serializeJSON(stPolicy); 
writeDump(isJSON(serializedData)); 
writeDump(deserializeJSON(serializedData)); 

isJSON위한 NO 출력하고 동안 오류가 JSON parsing failure at character 9:'+' in {"prem":+0.0}을 역 직렬화.

+00으로 바꾸면이 문제를 해결할 수 있지만 ColdFusion의 버그라고 생각합니다. 다른 사람이이 문제를 가지고 더 나은 수정 프로그램을 구현 했습니까? Bug #3632972

+0

https://bugbase.adobe.com/ – Henry

+0

@Henry 버그가 입력 들으 https://bugbase.adobe.com/index.cfm?event=bug&id=3632972 –

+9

젠장 교체 ... 정확히 언제 ColdFusion의 JSON 처리에서 이러한 모든 버그가 끝날 것입니까? 나는 그들이 처음부터 시작하고 제대로해야한다고 생각합니다. 말할 것도없이 나는 이것을 투표 할 것이다. 그것은 CF9와 CF10에서 깨졌습니다. 그러나 Railo에서 잘 작동합니다. 그리고 심지어 OpenBD. –

답변

1

어도비는 자신의 bug database에 고정으로 나와있는 버그가 있지만 아직 공개되지 않은 :

버그 보고서를 제출했다. 다음은 내가 생각해 낸 문제입니다. 단순히 +00

private string function serializeJSONFixCF10(required string serializedData) { 
    return replace(arguments.serializedData,'+0','0','all'); 
} 
관련 문제