Web2py 解析 json return 值

Web2py parsing json return values

我刚开始使用 web2py 和 python,我正在尝试使用 Requests 来利用休息网络服务,调用正常,我得到了适当的数据,但我在查找信息时遇到了问题关于如何解析对字段的响应。即,将客户名称分配给变量。大多数示例只打印 .json() return 数据。

import requests
Controller Code:
url = 'http://services/myRestService/OrderInformation/?$top=1'
r = requests.get(url,headers = headers, auth=('testuser','testuser'))
results = r.json()
customername = ?

Results:
{u'd': {u'results': [{u'OrderNumber': u'     159', u'__metadata': {u'type':   u'OrderInformation', u'id': u"http://127.0.0.1/services/OrderInformation('%20%20%20%20%20159')", u'uri': u"http://127.0.0.1/services/OrderInformation('%20%20%20%20%20159')"}, u'OrderDate': u'4/12/2012 12:00:00 AM', u'CustomerNumber': u'901                 ', u'CustomerName': u’Coffee Outlet                          '}], u'__next': u'http://127.0.0.1/services/OrderInformation/?$select=CustomerName,CustomerNumber,OrderNumber,OrderDate%20'}}

json 似乎被截断了。 Guarav 在评论中写的是获取 results 列表中的第一个客户并从数据结构中获取 CustomerName

请参阅有关数据结构的 python2 or python3 文档。或者 google 对应 "python dictionaries"。它将详细解释如何处理这些非常有用的数据结构。

首先,您显示的 json 肯定是不完整的(缺少右括号或它有更多数据)。

这可能是服务器端的问题(极不可能)。如果是的话,除非你已经建立了那个服务器,否则你不能做任何事情。

如果是你复制粘贴的错误 json - 您的问题可能很简单,Gaurav 提供的答案可以解决。

如果您的问题是从字典的键中删除空格,您可以使用 python 映射来删除它们。 像map(lambda x: x.strip(), yourList)这样的事情是可以做到的。

也许可以为您的问题提供一些具体和准确的细节。

希望对您有所帮助!!!