JSON.parse Error #1132: Invalid JSON parse input (

2019-02-19 01:51发布

I am getting "Error #1132: Invalid JSON parse input" and cannot understand why.

My json is generated by php: json_encode($x). Output json if displayed in TextArea(flex) shows this:

{
   "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"
}

I validated with several validators and all of them say it's valid json.

On the flex side I am trying to access json with this code:

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

but get the error. Has anyone had this problem?

Edit 1:

It seems that the overview line is where the issue is but I dont understand why exactly since I used php json_encode which should escape things correctly...

4条回答
不美不萌又怎样
2楼-- · 2019-02-19 02:20

There is no problem with JSON and I know that the question has already an answer, but this answer is for those people who still face the following error message:

Syntax Error: Error #1132: Invalid JSON parse input.

It can be a matter of misfitting result format when it comes to the HTTPService options: Try the text or e4x format (they are the most convenient ones) and avoid the xml format which may introduce some extra characters to the JSON output triggering some errors.

Parse your data by using:

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

and trigger the JSON output by calling the HTTPService with the correct resultFormat:

resultFormat="text"

or

resultFormat="e4x"
查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-02-19 02:20

Your JSON is valide and dont have any prob in it. Might be this would help you. In your result event update ur code with reference below.

    // Code
    var result:Object = JSON.parse( String(event.result) );
    trace( result['title'] );
查看更多
Ridiculous、
4楼-- · 2019-02-19 02:22

The escape sequence of \\' appears to terminate the JSON.

it\\'s should be it\'s if you want "it's".

Since this JSON uses " for strings, it could just be: 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"
}
查看更多
做个烂人
5楼-- · 2019-02-19 02:43

Didn't know you have solved the problem or not, however I have had the same problem too, and today finally solved it, the problem was server side, the file which returned json string, was in UTF8 encoding I have converted it(by notepad++) to ANSI and everything working ))).

查看更多
登录 后发表回答