Unable to parse json String in javascript which is response of java method - Stack Overflow

Following is my controller which returns String @RequestMapping("hello1")public @ResponseB

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": ""
    }
]

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742410630a4438740.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信