首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析Python中javascript中的json帖子

无法解析Python中javascript中的json帖子
EN

Stack Overflow用户
提问于 2014-01-11 16:11:42
回答 1查看 459关注 0票数 1

这是从get请求中接收到的字符串:

代码语言:javascript
复制
{'company_code': u'ha', 'from-date': u'', 'to-date': u'', 'ledger_type': u'CLNT', 'cost_center': u'ALL', 'margin': u'wtmg'}

现在,我完全搞不懂该怎么处理这个了。我想让str‘’company_code‘给我"ha“作为输出。

但是,即使我在上面执行json.dumps()或loads(),我也无法访问它。

有什么帮助吗?

编辑:在从javascript客户端发送JSON字符串并接受json.dumps之后,我得到以下内容:

代码语言:javascript
复制
{"company_code": "ha", "from-date": "", "to-date": "", "ledger_type": "CLNT", "cost_center": "ALL", "margin": "wtmg"}

那是一根绳子。我不知道接下来该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-11 16:13:38

给定的字符串不是有效的JSON。这似乎是repr的结果。

代码语言:javascript
复制
>>> print(repr({'company_code': u'ha'}))
{'company_code': u'ha'}

JSON字符串应该用双四趾(‘)包装。

代码语言:javascript
复制
>>> print(json.dumps({'company_code': u'ha'}))
{"company_code": "ha"}

代码语言:javascript
复制
>>> import json
>>> json.loads('"a"')
u'a'
>>> json.loads("'a'")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

根据问题编辑编辑

使用json.loads解码json字符串,然后使用dict[key]语法访问值。

代码语言:javascript
复制
>>> encoded = '{"company_code": "ha", "from-date": "", "to-date": "", "ledger_type": "CLNT", "cost_center": "ALL", "margin": "wtmg"}'
>>> decoded = json.loads(encoded)
>>> decoded['company_code']
u'ha'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21064591

复制
相关文章

相似问题

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