首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python json.dumps将空字符串转换为空字符串为空

Python json.dumps将空字符串转换为空字符串为空
EN

Stack Overflow用户
提问于 2016-01-30 10:17:40
回答 1查看 1.3K关注 0票数 2

我有一个Python模块,其中有一个Person对象,我正在像这样初始化它

代码语言:javascript
复制
person = {
    'name': "",
    'city': "",
    'phone1': "",
    'emailaddress': "", 
    }

然后,我尝试填充这些字段,如果我无法得到我想要的值,那么就指望返回到默认的空字符串中。然后,我发布了这个对象:

代码语言:javascript
复制
req = urllib2.Request('API_LOCATION')
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json.dumps(person))

另一方面,我使用一个收集人员的ASP.NET web,我发现应该是空字符串的项是空的。

代码语言:javascript
复制
[System.Web.Http.HttpPost]
[System.Web.Http.Route("api/postperson")]
public JsonResult PostPerson(Person item)
{
    ... Items that I expect to be empty strings are actually null
}

我做错了什么?我希望在python模块中发送空字符串,而不是空字符串。我已经使用ASP.NET客户机进行了测试,以将其发布到相同的api中,并且在该实例中,空字符串的传递是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-30 11:22:27

json工作很好。只是urllib有一个非常混乱、冗长和完全不直观的界面。下面是如何使用urllib提交这些数据参数

代码语言:javascript
复制
import urllib
import urllib2

data = urllib.urlencode(person)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)

但实际上,您应该立即摆脱urllib,开始使用requests

代码语言:javascript
复制
reponse = requests.get(url, data=person)

代码语言:javascript
复制
response = requests.post(url, data=person)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35100532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档