Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用python循环通过json响应对象

用python循环通过json响应对象
EN

Stack Overflow用户
提问于 2018-09-05 15:21:42
回答 1查看 3.8K关注 0票数 0

我试图遍历包含数据的json响应对象。我想循环考虑json对象并提取for键event-idmarket-idevent-participant-name。json的响应如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[{
  "TIMESTAMP": "2018-09-05 22: 59: 44.398534 ",
  "id": 900652866170042,
  "name": "C Suarez Navarro vs M Keys",
  "sport-id": 9,
  "start": "2018-09-05T23:10:00.000Z",
  "in-running-flag": false,
  "allow-live-betting": true,
  "category-id": [
    9,
    399952692940010,
    410468520880009,
    573630974180009,
    613128376040013,
    643136938410012,
    894084819950041
  ],
  "status": "open",
  "volume": 83821.22796,
  "event-participants": [{
      "id": 900652866280041,
      "event-id": 900652866170042,
      "participant-name": "C Suarez Navarro",
      "number": 1
    },
    {
      "id": 900652866290042,
      "event-id": 900652866170042,
      "participant-name": "M Keys",
      "number": 2
    }
  ],
  "markets": [{
        "live": false,
        "event-id": 900652866170042,
        "id": 900652866490041,
        "name": "Moneyline",
        "runners": [{
              "withdrawn": false,
              "prices": [{
                  "available-amount": 1390.32516,
                  "currency": "EUR",
                  "odds-type": "DECIMAL",
                  "odds": 3.44,
                  "decimal-odds": 3.44,
                  "side": "back",
                  "exchange-type": "back-lay"
                },
                {
                  "available-amount": 12.22,
                  "currency": "EUR",
                  "odds-type": "DECIMAL",
                  "odds": 3.36,
                  "decimal-odds": 3.36,
                  "side": "back",
                  "exchange-type": "back-lay"
                },
                {
                  "available-amount": 38.84366,
                  "currency": "EUR",
                  "odds-type": "DECIMAL",
                  "odds": 3.34,
                  "decimal-odds": 3.34,
                  "side": "back",
                  "exchange-type": "back-lay"
                },
                {
                  "available-amount": 1843.65097,
                  "currency": "EUR",
                  "odds-type": "DECIMAL",
                  "odds": 3.48,
                  "decimal-odds": 3.48,
                  "side": "lay",
                  "exchange-type": "back-lay"
                },
                {
                  "available-amount": 27.82505,
                  "currency": "EUR",
                  "odds-type": "DECIMAL",
                  "odds": 3.5,
                  "decimal-odds": 3.5,
                  "side": "lay",
                  "exchange-type": "back-lay"
                },
                {
                  "available-amount": 11.20312,
                  "currency": "EUR",
                  "odds-type": "DECIMAL",
                  "odds": 3.56,
                  "decimal-odds": 3.56,
                  "side": "lay",
                  "exchange-type": "back-lay"
                }
              ],
              "event-id": 900652866170042,
              "id": 900652866590042,
              "market-id": 900652866490041,
              "name": "C Suarez Navarro",
              "status": "open",
              "volume": 25342.31304,
              "event-participant-id": 900652866280041
            },
            {
              "withdrawn": false,
              "prices": [{
                    "available-amount": 4572.25441,
                    "currency": "EUR",
                    "odds-type": "DECIMAL",
                    "odds": 1.40322,
                    "decimal-odds": 1.40322,
                    "side": "back",
                    "exchange-type": "back-lay"
                  },
                  {
                    "available-amount": 69.56263,
                    "currency": "EUR",
                    "odds-type": "DECIMAL",
                    "odds": 1.4,
                    "decimal-odds": 1.4,
                    "side": "back",
                    "exchange-type": "back-lay"
                  },

当我循环这个JSON对象时,我会得到一个关键错误。如何循环遍历这个对象并返回每个属性的每个值?

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def match_book_get(self):

   tennis_events = self.api.market_data.get_events(sport_ids= 
   [9],states=MarketStates.All, per_page=10000, offset=0,
                                include_event_participants=Boolean.T, 
   price_depth=3, side=Side.All)

   data = []

   for data in tennis_events:
       event_id = data['event_id']
       market_id = data['market-id']
       evparid = data['event-participant-id']
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 15:46:14

从JSON响应中可以看到,您要查找的键位于marketsrunners键下的列表中。您应该使用如下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for data in tennis_events:
    for market in data['markets']:
       event_id = market['event-id']
       for runner in market['runners']:
           market_id = runner['market-id']
           evparid = runner['event-participant-id']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52194550

复制
相关文章
通过SpringMVC框架响应JSON数据
在SpringMVC框架(含SpringBoot框架)中,当处理请求的方法之前添加了@ResponseBody后,或在控制器类之前使用的是@RestController,处理请求的方法的返回值将作为响应到客户端的数据。
海拥
2021/08/23
1.2K0
JSON.stringify驯服循环引用的对象
在写Tab组件持久化功能时: localStorage.setItem('tabs',JSON.stringify(tabs)) 遇到如下的报错: 看意思应该是产生了循环引用的结构,经查阅资料和实践
前端黑板报
2020/03/26
6.6K1
JSON.stringify驯服循环引用的对象
python json转对象
json转对象是python比较常见的一个应用场景,如何来实现呢?这里会涉及json模块中的loads方法,具体操作如下:
全栈程序员站长
2022/11/17
1.7K0
python json转对象
Python循环对象 ,函数
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
bear_fish
2018/09/20
8320
python json转对象
json转对象是python比较常见的一个应用场景,如何来实现呢?这里会涉及json模块中的loads方法,具体操作如下:
用户7886150
2021/01/19
2.1K0
Python解析JSON对象
上面就是一个JSON格式数据。它开起来就像是在Python中的字典数据类型。我们可以通过json模块将它转换成字符串或者反过来将字符串转换成字典数据类型。
北山啦
2022/11/27
1.9K0
Python解析JSON对象
[C#]Json.NET的动态视图--通过JObject解析json对象
如今JSON应用广泛。用于创建和消费JSON数据的一个流行的库是Json.NET。它提供了多种处理JSON数据的方式,可以直接解析成自定义类,也可以解析成类似于LINQ to XML这样的对象模型,后者被称为LINQ to JSON,它操作的类型通常是JObject、JArray和JProperty。它的使用方式类似于LINQ to XML,通过字符串进行访问,也可以执行动态操作。代码清单4-6使用了两种方式来处理同一个JSON数据。代码清单4-6 动态地使用JSON数据
科控物联
2022/03/29
2.6K0
[C#]Json.NET的动态视图--通过JObject解析json对象
用Go语言建立http-server响应对JSON数据对象进行编码与解码
本文将演示如何使用Go语言中encoding/json package,结合建立一台http-server响应对JSON数据对象进行编码与解码的操作。
Balliol Chen
2022/05/12
1.8K0
Python进阶06 循环对象
这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念。 循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式。 什么是循环对象 循环对象是这样一个对象,它包含有一个next()方法(__next__()方法,在python 3x中), 这个方法的目的是进行到下一个结果,而在结束一系列结果之后,举出StopIteration错误。 当一个循环结构(比如for)调用循环对象时,它就会每次循环的时候调用next()方
Vamei
2018/01/18
6210
Python复杂对象转JSON
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.3K0
python中的for循环对象和循环退出
判断条件,1位true,0是flesh,成立时true,不成立flesh,not取反
py3study
2020/01/07
5.3K0
PHP用foreach循环读取json数据的方法
我们知道php结合mysql数据库可以做出很多功能性网站,如果不想用数据库只想想展示一些内容,那么可以用json或txt文件。
小唐同学.
2022/02/19
6.1K1
使用python通过http发送json
因为需要通过http协议向服务器post一些数据,于是用python写了一个相关小程序,没想到遇到了一些问题,于是就在这里将这个问题记录一下。
py3study
2020/01/13
3K0
PHP中通过json格式定义字面量对象
PHPer 都知道 PHP 是不支持字面量了,至少目前版本都不支持。比如,在 JS 中可以这样定义 object var o = { 'name' : 'qq52o' , 'url' : 'www.qq52o.me' }; alert(o.name); Python 中定义字典,也可以这样定义: o = { 'name' : 'qq52o' , 'url' : 'www.qq52o.me' } print o['name'] 但在 PHP 中这么定义 object: $a = { "name" : "qq5
沈唁
2018/05/24
1.7K0
java json数组转json对象_json对象数组
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
10K0
java json数组转json对象_json对象数组
json对象转map对象_json map
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172454.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/23
2.5K0
@ResponseBody响应JSON 406
搭建SpringMVC(4.1),但是搭建完成以后发现使用@ResponseBody的ajax无法访问,总是出现406的问题。 首先怀疑的是配置问题,经过查明,影响SpringMVC的@ResponseBody注解的是:         <mvc:annotation-driven />,我发现我的配置中存在这个注解。同时又使用Spring文档中的自动配置相关解析类的方式再进行测试,发现还是没有解决问题。 同时在网上找到相关问题,发现是缺失jackson的jar。 <dependency>         
冷冷
2018/02/08
1.1K0
reponse对象(响应对象)
原型 def make_response(*args): def make_response(info, status, headers):
星哥玩云
2022/09/14
8040
python循环语句for怎么用_python编程
for 语句是 Python 中执行迭代的两个语句之一,另一个语句是 while。如果你对 Python 的迭代并不是很熟悉的话,Python中的迭代:for、while、break、以及continue语句是一个不错的切入点。
全栈程序员站长
2022/09/22
6590
点击加载更多

相似问题

循环通过JSON响应对象

38

在ajax响应中循环通过json对象。

65

Python -使用for循环通过json对象输出

20

Python循环通过特定的JSON对象

121

Python ()循环通过响应?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文