由于json数据中的u而导致意外的令牌错误

时间:2013-05-25 08:33:22

标签: jquery python ajax json

我使用python代码创建了json数据。这是创建的示例json数据

[{'signedDate': u'2013-05-25T04:13:12.2000000Z', 'name': u'Ravi Shastri', 'roleName': u'Firigner'}]

这是python代码

records = []
for i in env:
    record1 = {"name":t[0]['name'],"signedDate":t[0]['signedDateTime'],"roleName":t[0]['roleName']}
    records.append(record1)
return str(records)

我将这个json数据绑定到网格视图jquery插件。这是jquery ajax代码。 注意:responseText是json数据

$(document).ready(function() {
            $.ajax({
                        type: "GET",
                        url: "/getdetails",
            dataType: "json",
                        success: function (responseText) {
                            alert(responseText);
                                    $("#exampleGrid").simplePagingGrid({
                            columnNames: ["name", "signedDate ($)", "roleName"],
                            columnKeys: ["name", "signedDate", "roleName"],
                            columnWidths: ["50%", "25%", "25%"],
                            data: responseText
                    });
                        },
                        error: function (xhr, errorType, exception) {  
                            var errorMessage = exception || xhr.statusText;  
                            alert("There was an error creating your contact: " + errorMessage);
                        }
                });
        });

我收到错误SyntaxError: Unexpected token ....我认为这可能是由于json数据中的u。有没有办法从json数据中删除u。

1 个答案:

答案 0 :(得分:2)

那不是JSON。它只是Python字典的字符串表示,恰好看起来像JSON。要创建有效的JSON字符串,您需要对对象进行编码:

import json

...

return json.dumps(records)