<p>当我从angular调用post请求并传递一个数据然后在django视图中接收时,数据就变成了一个带有unicode键和值的对象。你知道吗</p>
<p>样品。你知道吗</p>
<pre><code>//from angular
$http.post("url_here",{"name" : "alde","grade" : 94})
//views.py
data_from_angular = json.loads(request.body.decode("utf-8"))
print(data_from_angular)
>>>> {u'name' : u'alde', u'grade' : u'84'} // this is the problem
>>>> {'name' : 'alde', 'grade' : 84} // I want this result so that I can have the 'grade' as number not unicode.
</code></pre>
<p>我希望你能帮我。谢谢!你知道吗</p>
<p><strong>编辑</p>
<p>问题出在我的JSON数据中。数字84被表示为字符串。感谢@Sudlip指出我的问题。你知道吗</p>
<p>u前缀只是表示您有一个Unicode字符串。当您真正使用字符串时,它不会出现在您的数据中。你知道吗</p>
<p>如果您真的想将其转换为普通字符串,您可以使用字典理解和<code>str</code>关键字来转换键和值:</p>
<pre><code>data_from_angular = dict((str(k), str(v)) for k, v in data_from_angular.items())
</code></pre>