我正在尝试在Coldfusion8
中反序列化JSON字符串。它似乎工作(没有错误),但我无法处理我得到的数据。
我的JSON字符串如下所示:
"{\"kundenliste\":{\"kundennummer\":\"1\",\"plz\":\"2\",\"rabatt\":\"3\",\"laenderkennzeichen\":\"4\",\"preisliste\":\"5\...
我可以这样做:
<cfset variables.import = DeserializeJSON(getModus.myJSONstring)>
<cfdump output="e:\dump.txt" label="catch" var="#IsArray(variables.import)#">
<cfdump output="e:\dump.txt" label="catch" var="#IsStruct(variables.import)#">
<cfdump output="e:\dump.txt" label="catch" var="#IsObject(variables.import)#">
<cfdump output="e:\dump.txt" label="catch" var="#IsDefined(variables.import.kundenliste)#">
结果:
{"kundenliste":{"kundennummer":"1","plz":"2","rabatt":"3","laenderkennzeich ...
NO
NO
NO
<<error>>
问题:
反序列化时我做错了吗?我以为这将返回一个结构或数组,而不是一个字符串。怎么办?
感谢您的帮助!
答案 0 :(得分:5)
原始JSON字符串无效。名称/值对周围的引号不应该像\"
那样进行转义,这就是为什么它没有被正确解析的原因。输入字符串看起来应该更像是“结果”:
{"kundenliste":{"kundennummer":"1"}}
该字符串的来源是什么?