我通过Django restframework中的POST请求获得以下数据。我需要序列化此数据,此数据包含多个模型的数据。
data={'admin-1':
{'first_name':'john'
,'last_name':'white'
,'job_title':'CEO'
,'email':'test1@gmail.com'
},
'admin-2':
{'first_name':'lisa'
,'last_name':'markel'
,'job_title':'CEO'
,'email':'test2@gmail.com'
},
'company-detail':{'description':'We are a renowned engineering company'
,'size':'1-10'
,'industry':'Engineering'
,'url':'http://try.com'
,'logo':''
,'addr1':'1280 wick ter'
,'addr2':'1600'
,'city':'rkville'
,'state':'md'
,'zip_cd':'12000'
,'phone_number_1':'408-393-254'
,'phone_number_2':'408-393-221'}
r = requests.post('http://127.0.0.1:8000/api/create-company-profile/',data=data)
print r.status_code
print r.text
下面是CreateAPI视图-
class CompanyCreateApiView(CreateAPIView):
def post(self, request, *args, **kwargs):
print 'request ==', request
print 'request.data == ', request.data['admin-2']
import json
print json.loads(request.data)
data=json.dumps({'status':'success'})
return Response(data, status=status.HTTP_200_OK)
我基本上需要去序列化数据,但得到这个错误。
请求==请求。data==作业\标题内部服务器错误:/api/create company profile/Traceback(最后一次调用):File“/Users/prem/.virtualenvs/ghost/lib/python2.7/site packages/django/core/handlers/base.py”,第111行,在get\响应响应=wrapped\回调(请求,*callback\ args,**callback\ kwargs)文件中“/Users/prem/。virtualenvs/ghost/lib/python2。7/站点包/django/views/decorators/csrf。py“,第57行,在包装视图返回视图func(*args,**kwargs)文件“/Users/prem/”中。virtualenvs/ghost/lib/python2。7/站点包/django/views/generic/base。py“,第69行,在视图中返回self.dispatch(请求,*args,**kwargs)文件“/Users/prem/。virtualenvs/ghost/lib/python2。7/站点包/rest\u框架/视图。py“,第452行,调度响应=self.handle_异常(exc)文件“/Users/prem/。virtualenvs/ghost/lib/python2。7/站点包/rest\u框架/视图。py”,第449行,在调度响应中=处理程序(请求,*args,**kwargs)文件“/Users/prem/Documents/Ghost/positionmatch new/menkes服务器主控/menkesserver/human_resources/views。py”,第81行,在post-print json.load(request.data)文件“/System/Library/Frameworks/Python中。framework/Versions/2.7/lib/python2。7/json/init。py”,第338行,在加载返回_default_decoder.decode文件“/System/Library/Frameworks/Python。framework/Versions/2.7/lib/python2。7/json/解码器。py“,第365行,在decode obj中,end=self.raw_decode(s,idx=_w(s,0.end())类型错误:应为字符串或缓冲区
应该不需要在视图中手动解码POST数据。只要您使用的是JSONParser
,如解析器文档中所述,请求。应该已经为您完全解析了数据。
此外,您发送到视图的请求可能与您的想法不符。如果您希望发送带有请求的JSON数据,则需要更明确一点。如请求文档中的示例所示:
>>> import json
>>> url = 'https://api.github.com/some/endpoint'
>>> payload = {'some': 'data'}
>>> r = requests.post(url, data=json.dumps(payload))
问题内容: 我正在使用python访问由Drupal安装管理的数据库。我想在Drupal中访问的数据作为PHP序列化对象保存在数据库中。 是否有任何预构建的python模块可以将PHP序列化对象反序列化为python对象?我已经做了一些搜索,却一无所获。 我意识到我可以从头开始编写自己的解析器,但是我宁愿使用经过尝试和测试的东西。 问题答案: 您在寻找phpserialize吗?
它似乎只是简单地删除了转义字符,将一些空字符串转换为空字符串,并将整个内容包装在一组额外的花括号中。就像它被反序列化为不同的序列化格式一样。 在其他SO问题中,答案建议创建一个类来反序列化: 但当我这么做的时候,我得到了一个例外: 我需要一种方法来引用这个响应中的名称和Employee_ID。我对JSON比较陌生。
问题内容: 我已经开始在我的第一个android应用程序上进行工作,并且具有处理多层图像的应用程序。我能够将项目文件的平面版本导出为PNG,但我希望能够保存分层图像以供以后编辑(包括应用于某些层的任何选项,例如基于文本的层)。 无论如何,我已经确保需要写入文件的类是“可序列化的”,但是由于android.graphics.Bitmap不可序列化这一事实而遇到了一些障碍。以下代码实质上将位图作为PN
数据序列化在 Redisson 中广泛地用于解编排在 Redis 服务器连接的网络上接收和发送的字节。 默认有多种流行的解编码器可用: Codec 类名 描述 org.redisson.codec.JsonJacksonCodec Jackson JSON codec. 默认 codec org.redisson.codec.CborJacksonCodec CBOR 二进制 json codec
什么是数据序列化(Data Serialization)? 数据序列化(Data Serialization)用于将结构化数据转换为允许被分享或存储的格式,并且通过这种方式,数据的原始结构可以被恢复。在某些情况下,数据序列化的另一个次要目的是将序列化数据的尺寸最小化,从而最小化其对硬盘空间或带宽的要求。 Pickle Python 原生的数据序列化模块叫做 Pickle。 这里举个例子: impo
JDK 提供了 ObjectOutputStream 和 ObjectInputStream 通过网络将原始数据类型和 POJO 进行序列化和反序列化。API并不复杂,可以应用到任何对象,支持 java.io.Serializable 接口。但它也不是非常高效的。在本节中,我们将看到 Netty 所提供的。 JDK 序列化 如果程序与端对端间的交互是使用 ObjectOutputStream 和