添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

字符串转json场景报错

import json
str = '{"data_source":"favourites","desease_id":"demo_bladder_liuzhuowei","start":0,"size":10,"show_entry_flag":False,"perms":{"prdb":{"patient":{"node_ids":null}}}}'
json = json.loads(str)
print json

Traceback (most recent call last):
File "D:/git/autotest/all_cluster_test/test.py", line 22, in <module>
json = json.loads(str)
File "C:\Python27\lib\json\__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

看报错信息很难发现出错原因

将json类更换为simplejson就可以解决该问题

import simplejson
str = '{"data_source":"favourites","desease_id":"demo_bladder_liuzhuowei","start":0,"size":10,"show_entry_flag":False,"perms":{"prdb":{"patient":{"node_ids":null}}}}'
json = simplejson.loads(str)
print json

Traceback (most recent call last):
File "D:/git/autotest/all_cluster_test/test.py", line 22, in <module>
json = simplejson.loads(str)
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\__init__.py", line 525, in loads
return _default_decoder.decode(s)
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\scanner.py", line 79, in scan_once
return _scan_once(string, idx)
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\scanner.py", line 45, in _scan_once
_scan_once, object_hook, object_pairs_hook, memo)
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\decoder.py", line 194, in JSONObject
value, end = scan_once(s, end)
File "C:\Users\it\AppData\Roaming\Python\Python27\site-packages\simplejson\scanner.py", line 70, in _scan_once
raise JSONDecodeError(errmsg, string, idx)
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 106 (char 105)

问题原因:False ==》 false

string转json,需要关注string中是否有非字符串的节点值格式不符合要求

  • False/True在string中应该显示为首位小写false/true;
  • None在string中应该显示为null
  • 字符串值都应该带引号
问题 json .loads(xxx)后报错ValueError: No JSON object could be decode d 原因:注意是unicode编码和'单引号 问题 引起 方法一:将xxx先作字符串转化xxx.replace("u", "").replace("'", '"'),然后再 json .loads(xxx.replace("u", "").replace("'", '"'))即可 方法二:使用Python内置函数eval(expression[, globals[, locas]]解 1、No JSON object could be decode d没有 JSON 对象可以解码 2、把报错的位置进行格式转换变成text,或者直接把报错的位置给(xls)给注释掉。 出现这个 问题 ,是因为返回的结果是html格式,而非 json 格式,所以无法解析。 解决方法也很简单,在请求服务的时候加上'f':' json '或者'f':'p json '就好了,两者的区别在于, json 更为紧凑,p json 更为易读。 ...... import tushare as ts df = ts.get_hist_data('sh600016',start='2016-06-23',end='2018-12-30') 当我运行上面的代码时,出现ValueError: No JSON object could be decode d这个错误。 这个 问题 出现的原因不是很明了,但是解决的方法很奇特,竟然是因为whitespace miss... 爬取淘宝MM的图片时,发现切换页面,URL都不改变。最后了解到网页是AJAX技术实现的。 百度下,AJAX全称Asynchronous JavaScript and XML ,是指异步JavaScript和XML,跨浏览器动态生成Web应用内容的功能。简单点说,就是在不切换页面的情况下,和服务器端进行数据的交换。 如此模拟打开AJAX网页,服务将会返回 json 格式的数据给你,采用 json 模块中 Traceback (most recent call last):   File "dataDeal.py", line 28, in     create Json ("/home/wcs/train2014. json ","/home/wcs/train")   File "dataDeal.py", line 8, in create Json data= json .load(f) 本人使用爬虫从某数据库中下载了一批数据,本地存为 json 格式(pgp. json )然后使用python中的 json 模块进行解析( json .load),一直出现下述错误 从google中查找到了同样错误的帖子,尝试修改编码方式,可一直未能解决。由于这个错误没有给出具体的错误来源,很难 定位 问题 所在,这个 问题 一直困扰了一天,知道无意间了解了simple json 这个模块。 于是使用simplejso... 使用notepad++把文件转成utf-8格式依然报错,添加encoding=‘utf-8’也是报错 所以转换了一下思路,修改了代码 with open(model_path, 'rb') as reader: model = pickle.load(reader) # model = json .load(reader) 改前的 同样在import部分也要导入pickle import pickle # import 在Python中用代码:解析 json ,对应的config. json 如下:[[username,心情栖息地],[password,123]]但是结果出现“No JSON object could be decode d”错误:LINE 2684 : ERROR Unknown Error !Traceback (most recent call last):File"D:\tmp\WordPress\... 前言最近准备用Python爬一些东西(是什么并不重要|ω・`)),然后理所应当()就用到了 json .loads,于是就踏入了一个又一个的大坑 问题 当我在尝试对requests返回的text进行 json .loads,神TM地报错了Traceback (most recent call last):File "check.py", line 27, in gets= json .loads(req.text...