Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python从post正文请求中提取json数据_Python_Json_Google App Engine_Extract_Http Post - Fatal编程技术网

使用python从post正文请求中提取json数据

使用python从post正文请求中提取json数据,python,json,google-app-engine,extract,http-post,Python,Json,Google App Engine,Extract,Http Post,有没有一种方法可以轻松地提取POST请求主体中的json数据部分? 例如,如果有人使用带有json数据的表单正文发布到www.example.com/post,我的GAE服务器将通过调用以下命令接收请求: jsonstr = self.request.body 但是,当我查看jsonstr时,我得到如下结果: str: \r\n----------------------------8cf1c255b3bd7f2\r\nContent-Disposition: form-data; name=

有没有一种方法可以轻松地提取POST请求主体中的json数据部分? 例如,如果有人使用带有json数据的表单正文发布到www.example.com/post,我的GAE服务器将通过调用以下命令接收请求:

jsonstr = self.request.body
但是,当我查看jsonstr时,我得到如下结果:

str: \r\n----------------------------8cf1c255b3bd7f2\r\nContent-Disposition: form-data;
name="Actigraphy"\r\n Content-Type: application/octet-
stream\r\n\r\n{"Data":"AfgCIwHGAkAB4wFYAZkBKgHwAebQBaAD.....
我只想调用一个函数来提取主体的json部分,该部分从{“Data”:……部分开始


有一个简单的函数可以调用吗?

有一个误解,你给我们看的字符串不是json数据,它看起来像一个帖子正文。你必须用类似的东西解析正文。 然后,您可以像解析aschmid00所回答的那样解析json。但是,您只解析数据,而不是主体

在这里你可以找到一个。
这个问题也是。

有一个误解,你给我们看的字符串不是json数据,它看起来像一个帖子正文。你必须用类似的东西来解析正文。 然后,您可以像解析aschmid00所回答的那样解析json。但是,您只解析数据,而不是主体

在这里你可以找到一个。 这个问题也很重要。

您可以尝试:

import json
values = 'random stuff .... \r\n {"data":{"values":[1,2,3]}} more rnandom things'
json_value = json.loads(values[values.index('{'):values.rindex('}') + 1])
print json_value['data'] # {u'values': [1, 2, 3]}
print json_value['data']['values'] # [1, 2, 3]
但这是危险的,需要相当多的假设,我不确定你在使用哪个框架,瓶子,烧瓶,还有很多,请使用适当的调用
POST
如果确实在使用框架,则根据框架检索值

如果您单独使用GAE,我想您的意思是执行self.request.get(“Data”)

您可以尝试:

import json
values = 'random stuff .... \r\n {"data":{"values":[1,2,3]}} more rnandom things'
json_value = json.loads(values[values.index('{'):values.rindex('}') + 1])
print json_value['data'] # {u'values': [1, 2, 3]}
print json_value['data']['values'] # [1, 2, 3]
但这是危险的,需要相当多的假设,我不确定你在使用哪个框架,瓶子,烧瓶,还有很多,请使用适当的调用
POST
如果确实在使用框架,则根据框架检索值

如果您单独使用GAE,我想您的意思是执行self.request.get(“Data”)


这取决于提交前它在浏览器端的编码方式,但通常情况下,您会得到如下POST数据:

jsonstr = self.request.POST["Data"]

如果这不起作用,您可能希望向我们提供一些关于如何在客户端将“数据”编码到POST数据中的信息。

这取决于提交前如何在浏览器端对其进行编码,但通常您会得到如下POST数据:

jsonstr = self.request.POST["Data"]
如果这不起作用,你可能想给我们一些关于“数据”是如何在客户端编码到POST数据中的信息