3

「エラー#1132:無効なJSON解析入力」が表示され、その理由を理解できません。

私のjsonはphp:json_encode($ x)によって生成されます。TextArea(flex)に表示された場合の出力jsonは、次のことを示しています。

{
   "title":"The Incredibles",
   "year":"2004",
   "type":"movie",
   "id":"9806",
   "imdb_id":"tt0317705",
   "rating":8.6,
   "tagline":"No gut, no glory",
   "overview":"Bob Parr has given up his superhero days to log in time as an insurance adjuster and raise his three children with his formerly heroic wife in suburbia. But when he receives a mysterious assignment, it\\'s time to get back into costume.",
   "runtime":115,
   "budget":92000000,
   "image":"http:\/\/cf2.imgobject.com\/t\/p\/w185\/jjAgMfj0TAPvdC8E5AqDm2BBeYz.jpg",
   "trailer":"rMfrFG_69zM"
}

私はいくつかのバリデーターで検証しました、そしてそれらのすべてはそれが有効なjsonであると言います。

フレックス側では、次のコードを使用してjsonにアクセスしようとしています。

JSON.parse(event.result.toString());

しかし、エラーが発生します。誰かがこの問題を抱えていましたか?

編集1:

概要行に問題があるようですが、正しくエスケープする必要があるphp json_encodeを使用したので、なぜ正確に理解できません...

4

4 に答える 4

3

のエスケープ シーケンスは\\'、JSON を終了するように見えます。

it\\'s「それ」が必要なit\'s場合はそうする必要があります。

この JSON は"文字列に使用されるため、次のようになりますit's

JSON:

{
   "title":"The Incredibles",
   "year":"2004",
   "type":"movie",
   "id":"9806",
   "imdb_id":"tt0317705",
   "rating":8.6,
   "tagline":"No gut, no glory",
   "overview":"Bob Parr has given up his superhero days to log in time as an insurance adjuster and raise his three children with his formerly heroic wife in suburbia. But when he receives a mysterious assignment, it\'s time to get back into costume.",
   "runtime":115,
   "budget":92000000,
   "image":"http:\/\/cf2.imgobject.com\/t\/p\/w185\/jjAgMfj0TAPvdC8E5AqDm2BBeYz.jpg",
   "trailer":"rMfrFG_69zM"
}
于 2012-07-28T22:44:50.240 に答える
2

あなたが問題を解決したかどうかはわかりませんでしたが、私も同じ問題を抱えていて、今日ようやく解決しました。問題はサーバー側で、json文字列を返すファイルはUTF8エンコーディングでした notepad ++)をANSIに変換し、すべてが機能しています)))。

于 2012-10-25T13:51:42.200 に答える
1

JSON には問題はなく、質問には既に回答があることはわかっていますが、この回答は、次のエラー メッセージにまだ直面している人向けです。

構文エラー: エラー #1132: JSON 解析入力が無効です。

オプションに関しては、結果のフォーマットが不適切であることが問題になる可能性があります。またはフォーマットをHTTPService試して(これらが最も便利です) 、JSON 出力に余分な文字が導入されてエラーが発生する可能性のあるフォーマットを避けてください。texte4xxml

以下を使用してデータを解析します。

var temp_obj:Object = JSON.parse(event.result as String);

HTTPService正しい を使用して を呼び出して、JSON 出力をトリガーしresultFormatます。

resultFormat="text"

また

resultFormat="e4x"
于 2014-11-04T16:56:19.717 に答える
0

あなたのJSONは有効であり、問​​題はありません。これはあなたを助けるかもしれません。結果イベントで、以下を参照してコードを更新します。

    // Code
    var result:Object = JSON.parse( String(event.result) );
    trace( result['title'] );
于 2013-05-23T12:53:48.703 に答える