zoukankan      html  css  js  c++  java
  • Python--json_tools用法

    安装

    pip install json_tools

    使用

    输出导读:

    上面的输出显示的是b相对于a的变化:

    1) b和a都有键’rd’,但是b相对a键’rd’的值发生了变化,由原来的yanan变为Yanan,所以比较结果的list有{'replace': '/rd', 'value': 'Yanan', 'prev': 'yanan'}

    其中replace标识发生变化的键,value标识变化后即当前该键的值,prev表示该键此前的值。

    2) b相对于a没有city键,所以结果集中有{'remove': '/city', 'prev': 'zibo'}

    3) b中的town相对于a,是新增的键,所以结果集中有{'add': '/town', 'value': 'taian'}

    多层嵌套的对比

    import json_tools
    
    def json_diff(json_1, json_2):
        result = json_tools.diff(json_1, json_2)
        print(result)
    
    a = {"rd": "yanan", "pro": {"sh": "shandong", "city": ["zibo", "weifang"]}}
    b = {"rd": "Yanan", "pro": {"sh": "shandong", "town": ["taian", "weifang"]}}
    
    json_diff(a, b)

    结果:

    [{'replace': '/rd', 'value': 'Yanan', 'prev': 'yanan'}, 
    {'remove': '/pro/city', 'prev': ['zibo', 'weifang']},
    {'add': '/pro/town', 'value': ['taian', 'weifang']}]
  • 相关阅读:
    cpanel 定时运行sh/php
    zencart 后台目录产品黄色icon_yellow_on.gif 解决方案
    字符串编码---hash函数的应用
    Tiling_easy version(填2 x N的格子的种类)
    n行m列的网格中含有的矩形数
    Openstack
    Docker
    Tornado模块
    LAMP应用部署
    数据库管理
  • 原文地址:https://www.cnblogs.com/ailiailan/p/13925007.html
Copyright © 2011-2022 走看看