读取 JSON 时如何转义字符

发布于 2024-10-08 05:21:23 字数 368 浏览 8 评论 0原文

我需要写出此 JSON 响应中的所有变量:

  "result": {
    "\/common\/topic\/weblink": [
      {
        "url": "http:\/\/www.boardgamegeek.com\/boardgame\/13", 
        "description": "BoardGameGeek"
      }
    ], 
    "id": "\/en\/settlers_of_catan"
  }

所以要获取 id:

result.id

但是如何获取“\/common\/topic\/weblink”的值?

I need to write out all the variables in this JSON response:

  "result": {
    "\/common\/topic\/weblink": [
      {
        "url": "http:\/\/www.boardgamegeek.com\/boardgame\/13", 
        "description": "BoardGameGeek"
      }
    ], 
    "id": "\/en\/settlers_of_catan"
  }

So to get the id:

result.id

But how do I get the values for "\/common\/topic\/weblink"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

感情旳空白 2024-10-15 05:21:23

"\/common\/topic\/weblink" 解析为字符串 /common/topic/weblink。任何访问解码内容的 API 都应使用生成的未转义数据;转义只是 JSON 编码的一部分。

使用 Python 中包含的标准 JSON 模块效果很好,我强烈建议您使用该模块而不是第三方模块,除非您有充分的理由要不同:

import json

json_data = r"""
{
  "result": {
    "\/common\/topic\/weblink": [
      {
        "url": "http:\/\/www.boardgamegeek.com\/boardgame\/13",
        "description": "BoardGameGeek"
      }
    ],
    "id": "\/en\/settlers_of_catan"
  }
}"""

data = json.loads(json_data)
print data["result"]["/common/topic/weblink"]

请注意,您遗漏了对象上的大括号,我将其添加到.

"\/common\/topic\/weblink" resolves to the string /common/topic/weblink. Any API accessing the decoded content should use the resulting unescaped data; the escaping is just part of JSON's encoding.

This works fine, using the standard JSON module included in Python, which I strongly recommend you use rather than third-party ones unless you have a very strong reason to be different:

import json

json_data = r"""
{
  "result": {
    "\/common\/topic\/weblink": [
      {
        "url": "http:\/\/www.boardgamegeek.com\/boardgame\/13",
        "description": "BoardGameGeek"
      }
    ],
    "id": "\/en\/settlers_of_catan"
  }
}"""

data = json.loads(json_data)
print data["result"]["/common/topic/weblink"]

Note that you left out the enclosing braces on the object, which I added in.

戈亓 2024-10-15 05:21:23

你想要类似的东西

result["\/common\/topic\/weblink"][0].url

(我想)

You want something like

result["\/common\/topic\/weblink"][0].url

(I think)

小瓶盖 2024-10-15 05:21:23

尝试

result.__getattribute__("\/common\/topic\/weblink")[0].url

Try

result.__getattribute__("\/common\/topic\/weblink")[0].url
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文