Jquery 如何在JSON字符串中转义unicode语法(u';foo';)?
我正在将一个JSON字符串从服务器传递到Django模板。当我将JSON字符串分配给jQuery变量时,我得到的是unicode语法 Py: jQuery/Django模板:Jquery 如何在JSON字符串中转义unicode语法(u';foo';)?,jquery,python,json,unicode,Jquery,Python,Json,Unicode,我正在将一个JSON字符串从服务器传递到Django模板。当我将JSON字符串分配给jQuery变量时,我得到的是unicode语法 Py: jQuery/Django模板: var friends = {{friends}}; 检查Firebug中的任务: [ { u'name': u'Joe Smith', u'id': u'6500000' }, { u'name': u'Andrew Smith'
var friends = {{friends}};
检查Firebug中的任务:
[
{
u'name': u'Joe Smith',
u'id': u'6500000'
},
{
u'name': u'Andrew Smith',
u'id': u'82000'
},
{
u'name': u'Dora Smith',
u'id': u'97000000'
}
]
例如,当python表示字符串时,
u'123'
表示该字符串为unicode,则转义或删除该字符串没有任何实际好处,它的行为仍与普通字符串类似。当python表示字符串时,u'123'
表示该字符串为unicode,转义或删除它并没有真正的好处,它的行为仍然像一个普通的字符串您需要在服务器端将friends
转换为JSON。您看到的是Python表示,它有时看起来有点像JSON,但实际上并非如此。您需要在服务器端将friends
转换为JSON。您看到了Python表示,它有时看起来有点像JSON,但实际上不是。正如Brian Goldman所指出的,friends
变量不是您所说的JSON字符串,而是一个Python对象,有时打印出来时看起来很像JSON
在将其传递给模板之前,需要将其转换为正确的JSON。在视图.py的顶部,放置以下行
from django.utils import simplejson
然后将simplejson.dumps(friends)
传递给模板,而不仅仅是friends
无论你做什么,都不要试图在模板中手工构建JSON:)如果你不能完全控制源数据(而且你没有;在本例中,它来自Facebook),那么你的模板将永远不会有问题。正如Brian Goldman指出的,friends
变量不是JSON字符串,就像你说的那样,但Python对象有时看起来很像JSON,打印出来时可以传递给它
在将其传递给模板之前,需要将其转换为正确的JSON。在视图.py的顶部,放置以下行
from django.utils import simplejson
然后将simplejson.dumps(friends)
传递给模板,而不仅仅是friends
无论你做什么,都不要试图在模板中手工构建JSON:)如果你不能完全控制源数据(而且你没有;在这种情况下,它来自Facebook),那么你的模板将永远不会有问题。除非我有误解,似乎优势在于生成jquery实际接受的json数据。除非我有误解,否则优势在于生成jquery实际接受的json数据。我想您在这里遇到了一个错误?如果你告诉我们更多关于错误的信息,问题可能会更清楚。我想你在这里得到了一个错误?如果你告诉我们更多关于错误的信息,问题可能会更清楚。这个答案完全正确friends
是Python字典的Python列表,而不是您认为的JSON字符串。这个答案完全正确friends
是Python字典的Python列表,而不是您认为的JSON字符串。