2017-04-06 37 views
1

我正在向我的django模板提供一个对象列表。我有一个条件,我在哪里访问对象的领域之一,在模板是包含像{u'option': False, u'name': u'test string'}有没有办法在javascript中使用相当于json.dumps的东西

我们通常用json.dumps这在python将其转换为{"option": False, "name": "test string"},这是正确的JSON u'字符的JSON场我想要有我需要访问这样的字符串在我的JavaScript。

有没有一种简单的方法来做到这一点的JavaScript?我想避免使用正则表达式来去除u' and '并替换为"

对不起,如果这是非常基本的。不太了解JavaScript。

或者有没有办法只是编码我的对象字段to_json莫名其妙地从python?

回答

2

相当于Python的json.dumps()在JavaScript是JSON.stringify()为:

var jsonstr = JSON.stringify(someVariable); 

有效的JSON不包含像u'something',只有"something"结构。如果你真的有这样的字符串,它可能是通过repr()或类似的Python。

如果你想Python对象为JavaScript对象转换从各自的环境中,在Python会将其转换为使用json.dumps()一个JSON编码字符串,字符串传递给JavaScript环境,然后用JSON.parse()转换他们回到对象。 (请记住,除了一些基本类型,例如字符串,浮点数,布尔值,数组和键值结构之外,JSON并不理解任何东西。例如,尝试传输一个Python对象可能会让你字符串或集合键:值对,而不是实际的JavaScript Date对象。)

+0

感谢您的回答。但我只是去更新我从django提供的服务。它更干净,更容易做到。因为JSON.stringify不会从Json字段中删除'u''。所以不得不在Python中处理它。 –

+0

数组/列表上的警告,它们不等价。我发现这个差异与python在列表上的漂亮打印有关。 (当Javascript不支持时,Python会默认添加一些空格) – ThePhi

相关问题