admin管理员组

文章数量:1336587

Following is my controller which returns String

@RequestMapping("/hello1")  
    public @ResponseBody  
        String hello1() {  
           String jsonString = "[{\"deviceId\": \"  e71b0be12218393e121cb728595af68995889fb9\",\"deviceName\": \"  Xcaliber?s iPad3\",\"serialNumber\": \"  DMPH9E74DJ8R\",\"modelNumber\": \"  MC706\",\"productType\":\"  iPad3,1\",\"deviceClass\": \"  iPad\"},{\"deviceId\": \"\", \"deviceName\": \"\",\"serialNumber\": \"\",\"modelNumber\": \"\",\"productType\": \"\",\"deviceClass\": \"\"}]";
return jsonString;
} 

I am getting this string as response in javascript. and I am trying follwing code in javascript

var deviceJsonDetails = $.parseJSON(response);
         for(var count = 0;count < response.length; count++){
                             var id = count+1;
                             alert(deviceJsonDetails[count].deviceId);
                             $("#deviceId"+id).html(deviceJsonDetails[count].deviceId);
                             $("#deviceName"+id).html(deviceJsonDetails[count].deviceName);
                             $("#serialNumber"+id).html(deviceJsonDetails[count].serialNumber);
                             $("#modelNumber"+id).html(deviceJsonDetails[count].modelNumber);
    }

But it is giving error on var deviceJsonDetails = $.parseJSON(response); Error: SyntaxError: JSON.parse: expected property name or '}'

Can you please tell me where is the fault or any alternate solution to parse same string in js?

Following is my controller which returns String

@RequestMapping("/hello1")  
    public @ResponseBody  
        String hello1() {  
           String jsonString = "[{\"deviceId\": \"  e71b0be12218393e121cb728595af68995889fb9\",\"deviceName\": \"  Xcaliber?s iPad3\",\"serialNumber\": \"  DMPH9E74DJ8R\",\"modelNumber\": \"  MC706\",\"productType\":\"  iPad3,1\",\"deviceClass\": \"  iPad\"},{\"deviceId\": \"\", \"deviceName\": \"\",\"serialNumber\": \"\",\"modelNumber\": \"\",\"productType\": \"\",\"deviceClass\": \"\"}]";
return jsonString;
} 

I am getting this string as response in javascript. and I am trying follwing code in javascript

var deviceJsonDetails = $.parseJSON(response);
         for(var count = 0;count < response.length; count++){
                             var id = count+1;
                             alert(deviceJsonDetails[count].deviceId);
                             $("#deviceId"+id).html(deviceJsonDetails[count].deviceId);
                             $("#deviceName"+id).html(deviceJsonDetails[count].deviceName);
                             $("#serialNumber"+id).html(deviceJsonDetails[count].serialNumber);
                             $("#modelNumber"+id).html(deviceJsonDetails[count].modelNumber);
    }

But it is giving error on var deviceJsonDetails = $.parseJSON(response); Error: SyntaxError: JSON.parse: expected property name or '}'

Can you please tell me where is the fault or any alternate solution to parse same string in js?

Share Improve this question edited Nov 11, 2013 at 13:19 Swapnil Walivkar asked Nov 11, 2013 at 12:54 Swapnil WalivkarSwapnil Walivkar 2953 gold badges5 silver badges15 bronze badges 5
  • "But it is giving error" - what error? – Eel Lee Commented Nov 11, 2013 at 12:57
  • Error: SyntaxError: JSON.parse: expected property name or '}' – Swapnil Walivkar Commented Nov 11, 2013 at 12:59
  • 1 could you add it to your post? It's important part of a question. Thanks :) – Eel Lee Commented Nov 11, 2013 at 13:04
  • stackoverflow./questions/8013582/… – Shahe Masoyan Commented Nov 11, 2013 at 13:07
  • Check what server returning in HTTP response (Developer Tools in Chrome, Firebug Plugin in Firefox for example) and check if syntax is corrct by using JSONLint web site validator for example. – Serhiy Commented Nov 11, 2013 at 13:10
Add a ment  | 

1 Answer 1

Reset to default 2

Check your JSON string in http://jsonlint./

The correct string that you need to parse should be: Remove the "\"

[
    {
        "deviceId": "e71b0be12218393e121cb728595af68995889fb9",
        "deviceName": "Xcaliber?siPad3",
        "serialNumber": "DMPH9E74DJ8R",
        "modelNumber": "MC706",
        "productType": "iPad3,1",
        "deviceClass": "iPad"
    },
    {
        "deviceId": "",
        "deviceName": "",
        "serialNumber": "",
        "modelNumber": "",
        "productType": "",
        "deviceClass": ""
    }
]

本文标签: Unable to parse json String in javascript which is response of java methodStack Overflow