Van_pre 2022-01-24 18:06 采纳率: 100%
浏览 20
已结题

为什么程序会返回None呢

想写一个json解析的方法,不知道为什么会返回None
这是JSON串:
datas = {"store":{"book":"aaa","bicycle":{"color":"red","price":19.95}},"expensive":10}
这是程序

def sea_value(json_object, key: str):
    for k in json_object:
        if k == key:
            return json_object[k]
        if isinstance(json_object[k], dict):
            sea_value(json_object[k], key)
        if isinstance(json_object[k], list):
            for item in json_object[k]:
                if isinstance(item, dict):
                    sea_value(item, key)

print(sea_value(datas, 'color'))

这是为啥啊?

  • 写回答

4条回答 默认 最新

  • Run_youngman 2022-01-24 19:11
    关注

    解决啦,你这代码写的没太大问题,但是忽略了一个小点,print打印的是当前,也就是第一次调用sea_value返回的内容,如果想查看最终的结果,每次都要添加一个return ,第一个return 没有返回东西,自然打印出来是None.有用请采纳!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日
  • 创建了问题 1月24日

悬赏问题

  • ¥15 等差数列中的素数个数
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证