鱼C论坛

 找回密码
 立即注册
查看: 790|回复: 7

json见鬼了,是不是哪里设置有问题?

[复制链接]
发表于 2019-4-8 04:41:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Stubborn 于 2019-4-8 13:55 编辑

在爬淘宝评论,好不容易拿到json数据,却报错了。在网页格式化json是可以成功的。以为方法错了。后来百度,看了loads的使用方法,发现见鬼, ,在MAC系统下面会这样,win10不会
  1. import json

  2. # json.loads函数的使用,将字符串转化为字典
  3. json_info = '{"age": "12"}'
  4. dict1 = json.loads(json_info)
  5. print("json_info的类型:"+str(type(json_info)))
  6. print("通过json.dumps()函数处理:")
  7. print("dict1的类型:"+str(type(dict1)))
复制代码

  1. /Users/sstubborn/Desktop/复习/venv/bin/python /Users/sstubborn/Desktop/复习/Start01-动态抓取/动态网站抓取/test.py
  2. json_info的类型:<class 'str'>
  3. 通过json.dumps()函数处理:
  4. dict1的类型:<class 'NoneType'>

  5. Process finished with exit code 0
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-9 12:07:25 | 显示全部楼层
json格式有没有写对??
如果写对了
那就检查一下字符串里有没有特殊符号。或者说特殊编码之类的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-9 14:52:43 | 显示全部楼层
wongyusing 发表于 2019-4-9 12:07
json格式有没有写对??
如果写对了
那就检查一下字符串里有没有特殊符号。或者说特殊编码之类的。

校验过了,正确的json格式,win10可以正确运行,mac不行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-9 15:52:19 | 显示全部楼层
json格式的字符串必须用""号包裹,单引号会报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-9 16:16:38 | 显示全部楼层
万中山 发表于 2019-4-9 15:52
json格式的字符串必须用""号包裹,单引号会报错

没有啊,win系统OK,就mac不行,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-9 17:36:27 | 显示全部楼层
Stubborn 发表于 2019-4-9 16:16
没有啊,win系统OK,就mac不行,

那你用eval试试,我这边也没法重现你的问题。
之前的结果我也是在书上看到的。说是json的loads不能用单引号包裹。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-9 18:35:23 | 显示全部楼层
Stubborn 发表于 2019-4-9 14:52
校验过了,正确的json格式,win10可以正确运行,mac不行
  1. >>> import json
  2. >>> json_info = '{"age": "12"}'
  3. >>> dict1 = json.loads(json_info)
  4. >>> print(type(dict1))
  5. <class 'dict'>
  6. >>> json.dumps(dict1)
  7. '{"age": "12"}'
  8. >>> b = json.dumps(dict1)
  9. >>> b
  10. '{"age": "12"}'
  11. >>> print(type(b))
  12. <class 'str'>
  13. >>>
复制代码

其实我还是搞不懂你想问什么?
主要是不知道你要做什么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-9 18:39:29 | 显示全部楼层
wongyusing 发表于 2019-4-9 18:35
其实我还是搞不懂你想问什么?
主要是不知道你要做什么
  1. class 'NoneType'
复制代码


我的mac出的是这个结果,对应你的05行代码结果,一模一样的代码感觉json模块有问题一样,mac的python里面,一行一行敲,可以处理出来,用pycharm不行,是不是pycharm有问题的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-15 02:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表