簡體   English   中英

解析時JSON拋出錯誤

[英]JSON Throwing Error on Parsing

這是我擁有的JSON字符串。 我已經從JSON中刪除了左括號和右括號,因為我需要使用jQuery中的JSON值將數據實際加載到選擇框中:

{
    "text": "Pediatric FA, CPR & AED (2015)",
    "id": "128177000002431552~Pediatric FA, CPR & AED DVD Set (2015)~YES~117.19"
}, {
    "text": "FA, CPR & AED Manual (2015)",
    "id": "128177000002431564~FA, CPR & AED Manual (2015)~YES~17.73"
}

這是我的Javascript代碼

$.post("items.cfm",{"term":request.term})
                .done(function(data){
                    try{
                        var obj = JSON.parse(data),
                        values = [];
                        $.each(data, function(i, obj) {
                            values.push({"label":obj[x].text, "value":obj[x].id, "price":obj[x].id.split('~')[3]});
                        })
                        response(values);
                    }catch(e){
                        alert(e);
                    }
                })
                .fail(function(e){
                    alert(e);
                });

每次我運行它時,我都會得到錯誤

SyntaxError:意外的令牌,位於JSON中的位置

您有兩個JSON對象,以逗號分隔。 如果您希望這是一個數組,則需要用數組括號將其包圍:

[
{
    "text": "Pediatric FA, CPR & AED (2015)",
    "id": "128177000002431552~Pediatric FA, CPR & AED DVD Set (2015)~YES~117.19"
}, {
    "text": "FA, CPR & AED Manual (2015)",
    "id": "128177000002431564~FA, CPR & AED Manual (2015)~YES~17.73"
}
]

附帶說明一下,如果您的服務器生成無效的JSON,則應仔細查看生成JSON的代碼。 可能有一些代碼試圖手動生成此字符串,這是一種不好的做法。 服務器應使用庫將返回的值轉換為JSON。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM