0

I have a php script which returns a JSON string.

<?php
$arr = array(
'id' => '1',
'myarray' => array(
array('a' => 'a1', 'b' => 'b1', 'c' => 'c1', 'd' => 'd1'),
array('a' => 'a2', 'b' => 'b2', 'c' => 'c2', 'd' => 'd2')
)
);

echo json_encode($arr);
?>

The javascript code for parsing the JSON is

  $.ajax({
        dataType: "json",
        url: "http://www.something.com/sendJson.php"
    }).done(function(json) {
        data = jQuery.parseJSON(json);
        alert(data['id']);
    });

But for the above code i'm getting this error

SyntaxError: JSON Parse error: Unexpected identifier "object"

What could be causing this error?

3
  • what's duration suppose to be? Commented Sep 6, 2013 at 7:56
  • 3
    Are you sure that the json variable in JS is the right string? How are you retrieving it? Commented Sep 6, 2013 at 7:59
  • 1
    please show us the contents of "json". Commented Sep 6, 2013 at 8:02

1 Answer 1

5

The problem is your ajax call. You have dataType: "json", which means your string is already parsed in the callback. So:

 $.ajax({
    dataType: "json",
    url: "http://www.something.com/sendJson.php"
 }).done(function(json) {
    alert(json['id']);
 });
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.