【问题标题】:Update an online JSON file更新在线 JSON 文件
【发布时间】:2015-10-13 10:03:55
【问题描述】:

我正在编写一个简单的程序来从位于此处的 JSON 文件读取和更新数据:https://api.myjson.com/bins/3ygu6

我已经知道如何使用urllib2.urlopenjson.load 正确读取文件,但我不知道如何更新值。你能解释一下我该怎么做吗?

也许这会有所帮助http://myjson.com/api

【问题讨论】:

    标签: python json


    【解决方案1】:

    您可以像使用字典一样使用已解析的 JSON,只需分配新键或更改一些值。另外我推荐你使用 requests lib,它比 urllib 和 json 更舒服:http://docs.python-requests.org/en/latest/

    json_object = requests.get('https://api.myjson.com/bins/3ygu6').json()
    json_object['asset5'] = 'ON' 
    

    【讨论】:

    • 谢谢尤金。我安装了请求库并运行了您建议的代码,但出现此错误:/usr/local/lib/python2.7/dist-packages/requests-2.8.0-py2.7.egg/requests/packages/urllib3/util /ssl_.py:100:InsecurePlatformWarning:真正的 SSLContext 对象不可用。这会阻止 urllib3 正确配置 SSL,并可能导致某些 SSL 连接失败。有关详细信息,请参阅urllib3.readthedocs.org/en/latest/…。 InsecurePlatformWarning
    • 哦,这是新版本的请求。您还需要安装 requests[security] 以使用 https (pip install requests[security]) 或安装以前的版本 (pip install requests==2.5.3) - stackoverflow.com/questions/29134512/…
    • 好的,我尝试了这两种解决方案,但它们给了我相同的信息: AttributeError: '_socketobject' object has no attribute 'set_tlsext_host_name' 也许我的设置有问题?如果您需要更多信息,请告诉我。再次感谢。
    • 好像你需要一些额外的包:github.com/SiCKRAGETV/sickrage-issues/issues/1566 但是你只使用 http 协议会更简单,我试过它可以正常工作:api.myjson.com/bins/3ygu6
    • 也许您在最后一条评论的末尾放错了链接?我应该尝试这个解决方案吗? stackoverflow.com/questions/3290522/urllib2-and-json(在我尝试之前我必须研究一下)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多