首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python -如何在熊猫/ JSON中扁平JSON消息

Python -如何在熊猫/ JSON中扁平JSON消息
EN

Stack Overflow用户
提问于 2020-11-20 12:29:25
回答 2查看 46关注 0票数 0

我有一条JSON消息如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JSON_MSG = {
    'Header': {
        'Timestamp': '2020-10-25T02:49:25.489Z',
        'ID': '0422',
        'msgName': 'Order',
        'Source': 'OrderSys'
    },
    'CustomerOrderLine': [
        {
            **'Parameter'**: [
                {'ParameterID': 'ACTIVATION_DATE', 'ParameterValue': '2020-10-25'},
                {'ParameterID': 'CYCLES', 'ParameterValue': '1'}, 
                {'ParameterID': 'EXPIRY_PERIOD', 'ParameterValue': '30'},
                {'ParameterID': 'MAX_NUMBER', 'ParameterValue': '1'}
            ],
            'Subscription': {
                'Sub': '3020611',
                'LoanAcc': '',
                'CustomerAcc': '2020002',
                'SubscriptionCreatedDate': '2020-06-23T14:42:30Z',
                'BillingAcc': '40010101',
                'SubscriptionContractTerm': '12',
                'ServiceAcc': '11111',
                'SubscriptionStatus': 'Active'
            },
            'PaymentOpt': 'Upfront',
            'OneTimeAmt': '8.0',
            'RecurringAmt': '0.0'
            'BeneficiaryID': '',
            'CustomerOrderID': '111',
            'OrderLineCreatedDate': '2020-10-25T02:47:18Z',
            'ProductOfferingPriceId': 'PP_6GB_Booster',
            'ParentCustomerOrderLineID': '',
            'OrderLineRequestedDate': '2020-10-25T00:00:00.000Z',
            'ProductCategoryId': 'PRODUCT_OFFER',
            'OrderLinePurposeName': 'ADD',
            'OrderQuantity': '1.0',
            'CustomerOrderLineID': '11111',
            'OrderLineDeliveryAddress': {
                'OrderLineDeliveryPostCode': '',
                'OrderLineDeliveryTown': '',
                'OrderLineDeliveryCounty': '',
                'OrderLineDeliveryCountryName': ''
            },
            'ProductInstanceID': '95',
            'ProductOfferingId': 'OFF_6GBBOOST_MONTHLY'
        }
    ]
}

我需要扁平JSON消息并将其转换为行并捕获行计数/记录计数

(或)

我需要找出嵌套数组参数下有多少元素,因为这将给出与扁平JSON相同的结果(因为参数是最内部的数组)。

到目前为止,我已经尝试了以下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = json.loads(JSON_MSG)
list1 = data['CustomerOrderLine']
rec_count = len(list1)

但此代码只给出外部列表的结果,即1

因为CustomerOrderLine只包含一个结构

我需要记录/行计数为4(参数数组有4个结构)

EN

回答 2

Stack Overflow用户

发布于 2020-11-20 12:57:14

虽然不是最漂亮的,但你可以尝试这样的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list1 = JSON_MSG['CustomerOrderLine'][0]['Parameter']
票数 0
EN

Stack Overflow用户

发布于 2020-11-20 16:59:29

要获得所有元素的“参数”大小,可以使用列表理解:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = json.loads(JSON_MSG)
sizes = [len(order.get('Parameter')) for order in data.get('CustomerOrderLine', [])]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64936446

复制
相关文章
Json 扁平化对象 @JsonUnwrapped
@Data public class Account { @JsonUnwrapped private Location location; @JsonUnwrapped private PersonInfo personInfo; @Data public static class Location { private String provinceName; private String countyName;
happyJared
2021/03/04
1.3K0
如何在Java中处理JSON
New 一个 ObjectMapper对象,后续将利用这个ObjectMapper对象来进行一系列的操作。
泰坦HW
2020/07/22
1.5K0
如何在MySQL中搜索JSON数据
从MySQL 5.7.8开始,MySQL支持本机JSON数据类型。在本教程中,我们将学习如何在MySQL中搜索JSON数据。
Lemon黄
2020/04/14
5.4K0
python中json.load()、json.loads()、json.dump()、json.dumps()的区别
"{ \"name\": \"anthony\", \"sex\": \"man\" }"
yaohong
2019/09/11
3.7K0
json - 如何在 flutter 中的List String中加入2 json值?
如何获取列表= [owner_name + tenancy_random_no] 这样会来
徐建国
2021/08/03
4.2K0
python中的json模块
JSON(JavaScriptObjectNotation)格式最初是为JavaScript开发的,但随后成了一种常见文件格式,被包括python在内的众多语言采用。模块JSON让你能够将简单的python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据,还可以使用JSON在python程序之间分享数据。更重要的是,JSON数据格式并非python专用的,这让你能够将JSON格式存储的数据与使用其他编程语言的分享。很多程序都要求用户输入某种信息,如让用户存储游戏首选项或提供可视化的数据。不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中。用户关闭程序时,你几乎总是要保存他们提供的信息。
狼啸风云
2019/01/18
1.7K0
python 中json的实现
490 lines (416 sloc)  16.611 kb # -*- coding: utf8 -*- import sys import math #---------------------------------------- debug_flag = False # for debug info ouput disp_flag = False # for disp info ouput # debug info output controller def deb
bear_fish
2018/09/20
1.1K0
python中的json.dumps()和json.loads()
参考链接: python json 1-2:使用json.dump/dumps将JSON写入文件/字符串
用户7886150
2021/01/19
1.9K0
python中的json模块
JSON就是JavaScript Object Notation,这个模块完成了python对象和JSON字符串的互相转换! json是一种很多语言支持的通用语言
py3study
2020/01/07
1.3K0
python中的json模块
Python 中 的 json 模块
python 中的json 模板主要的两个功能:序列化和反序列化 序列化: encoding   将python 数据 编码成json 字符串 对应的函数有 dump 和 dumps 反序列化: decoding  将json 字符串 解码成 python 数据 对应的函数有 load 和 loads
py3study
2020/01/07
1.2K0
python 读json_python json文件
内容如下:{“ACME”: 45.23, “AAPL”: 612.78, “IBM”: 205.55, “HPQ”: 37.2, “FB”: 10.75}
全栈程序员站长
2022/11/04
2.1K0
python: json库 & .json文件读写
[1] python读写json文件 [2] 使用 python 读写中文json
JNingWei
2018/09/27
3.6K0
Python——JSON
json.loads 用于解码 JSON 数据,将Json格式字符串解码转换成Python对象
羊羽shine
2019/05/29
9660
python json
s=""" { "error_code": 0, "stu_info": [ { "id": 309, "name": "小白", "sex": "男", "age": 28, "addr": "河南省济源市北海大道32号", "grade": "天蝎座", "phone": "18512572946", "gold": 100 }, { "id": 310, "name": "小白", "sex": "男", "age": 28, "addr": "河南省济源市北海大道32号", "grade": "天蝎座", "phone": "18516572946", "gold": 100 } ] } """ 1、用json.loads载入j'son格式的字符串,转成字典 import json#引用json模块 res=json.loads(s) print(res)#打印字典 print(type(res))#打印res类型 print(res.keys())#打印字典的所有Key 2、json.load从文件中读入json格式字符串 import json f=open('stus.json',encoding='utf-8') user_dic=json.load(f) print(user_dic) 3、json.dumps 将字典转成json格式字符串 stus={'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
用户5760343
2022/05/13
7330
Python Json
''' 如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON, 因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。 JSON表示的对象就是标准的JavaScript语言的对象一个子集,JSON和Python内置的数据类型对应如下:
py3study
2020/01/13
8410
python – python – json
直接看示例 import json # 1.列表嵌套字典转json data = [{"a": "1"}, {"b": "2"}, {"c": "3"}] json_str = json.dumps(data, ensure_ascii=False) print(f"转换后的内容为 - {json_str}") # 2.字典转json data = {"a": "1"}, {"b": "2"}, {"c": "3"} json_str = json.dumps(data, ensure_ascii=
Blank.
2023/04/12
3.4K0
Python中json.load()和json.loads()的区别
json.load()和json.loads()都是Python标准库json模块中用于处理JSON数据的方法,二者的作用都是将JSON数据转换为Python数据类型,它们之间的区别如下:
Python学习者
2023/08/17
2400
【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )
然后 , 准备 python 数据 , 将数据放到 list 列表中 , 列表中的元素是 dict 字典 ;
韩曙亮
2023/10/11
6720
【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )
点击加载更多

相似问题

熊猫扁平巢式JSON

11

熊猫-扁平不规则嵌套JSON

22

Python中的扁平/去/Json

10

为熊猫做扁平巢式Json?

10

大熊猫扁平巢式json

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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