0

で JSON 文字列を逆シリアル化しようとしていますColdfusion8。動作しているように見えますが (エラーはありません)、取得しているデータを操作できません。

私の 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>>

質問:
デシリアライズ時に何か間違ったことをしていますか? これは文字列ではなく構造体または配列を返すと思いました。何をすべきか?

手伝ってくれてありがとう!

4

1 に答える 1

5

元の JSON 文字列が無効です。名前/値のペアを囲む引用符は、そのようにエスケープしないでください。つまり\"、正しく解析されていないのはそのためです。入力文字列は、「結果」のようになります。

    {"kundenliste":{"kundennummer":"1"}}

その文字列のソースは何ですか?

于 2013-03-14T21:51:04.630 に答える