精华内容
参与话题
问答
  • JavaScript 操作 JSON 常用方法

    万次阅读 2018-04-21 00:03:29
    3. JSON对象和JSON字符串的转换 - 字符串转对象 - 对象转字符串 4. 优雅的输出格式 5. JSON字符串的替换 6. 遍历JSON对象和JSON数组 7. 递归遍历 a. 递归遍历JSON,遇到数组的时候,数组中有超过一个对象...

    https://wildye.cn/posts/750b9fdf/

    概念

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。

    基础结构

    必须使用双引号"包含键值

    // 键值对的集合,值的有序列表
    var JsonObj = {"name":"Hannah", "like":["看书", "电影", "晨跑"]}; 
    

    数组

    var jsonArr = [
      {
        "name": "tom",
        "type": "cat"
      },
      {
        "name": "jack",
        "type": "mouse"
      }
    ]
    

    对象

    var jsonObj = {
      "like": ["看书", "电影", "晨跑"],
      "book": ["数字城堡", "刻意练习", "老人与海"]
    }
    

    JSON对象和JSON字符串的转换

    字符串转对象

    var jsonObject= JSON.parse(jsonstr);
    

    对象转字符串

    var jsonstr =JSON.stringify(jsonObject);
    

    优雅的输出格式

    JSON.stringify() 方法的可选参数space,可以指定缩进用的空白字符串,用于美化输出(pretty-print)space参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数没有提供(或者为null)将没有空格。

    // replacer 分隔符 space 缩进
    JSON.stringify(value[, replacer [, space]])
    
    var formatJsonStr=JSON.stringify(jsonObject,undefined, 2);
    

    JSON字符串的替换

    工作经常遇到这样的字符串,如下:
    这里写图片描述
    需要经过替换后,才能从字符串转化成JSON对象。这里我们需要用JS实现replaceAll的功能, 将所有的 ’ \" ’ 替换成 ’ " ’ .
    代码如下,这里的gm是固定的,g表示global,m表示multiple:

    var jsonStr=jsonStr.replace(new RegExp('\\"',"gm"), '"' );
    

    替换后的效果如下:
    这里写图片描述

    遍历JSON对象和JSON数组

    // 遍历JSON对象
    var packJson  = {
      "name":"Liza", 
      "password":"123"
    };
    for(var k in packJson ){  //遍历packJson 对象的每个key/value对,k为key
      alert(k + " " + packJson[k]);
    }
    
    // 遍历JSON数组
    var packJson = [
      {
        "name":"Liza", 
        "password":"123"
      },
      {
        "name":"Mike", 
        "password":"456"
      }
    ];
    for(var i in packJson){  //遍历packJson 数组时,i为索引
      alert(packJson[i].name + " " + packJson[i].password);
    }
    

    递归遍历

    为了实现一些复杂功能常常需要递归遍历JSON对象,这里找出两个递归的例子

    • 递归遍历JSON,遇到数组的时候,数组中有超过一个对象,删除第一个对象之后的所有对象
      这里写图片描述
    // 返回处理后的 json字符串 
    function jsonParse(jsonObj) {  
      distinctJson(jsonObj);  
      var last=JSON.stringify(jsonObj, undefined, 2);  
      return last;  
    }    
          
    // 去掉 json中数组多余的项 
    function distinctJson(obj) {  
      if(obj instanceof Array) {  
        if(obj.length > 1) { //数组中有超过一个对象,删除第一个对象之后的所有对象  
          obj.splice(1, (obj.length - 1));  
        }  
        distinctJson(obj[0]);  
      } else if (obj instanceof Object) {  
        for( var index in obj){  
          var jsonValue = obj[index];  
          distinctJson(jsonValue);  
        }  
      }  
    } 
    
    • 递归查找目标节点(节点id为targetId,有且只有一个),找到后把targetChildren赋值给节点的children
      举个例子,原始JSON如下,查找的目标节点id为5
      这里写图片描述
      targetChildren为
      这里写图片描述
      期望最后处理的JSON结果为:
      这里写图片描述
    // 递归查找目标节点 
    function findTarget(obj,targetId,targetChildren) {  
      if (obj.id==targetId) {  
        obj.children=targetChildren;  
        return true;  
        } else {  
        if(obj.children!=null){  
          for(var i=0; i<obj.children.length; i++){  
            var flag=findTarget(obj.children[i],targetId,targetChildren);  
            if(flag==true) return true;
          }  
        }  
      }  
        return false;  
    }
    

    引用:https://blog.csdn.net/xujie3/article/details/52954940

    展开全文
  • JS操作JSON

    万次阅读 2009-04-29 14:57:00
    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。JSON的规则很简单: 对象是一个无序...

    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

    JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html

    举个简单的例子:

    程序代码

    function showJSON() {
    var user =
    {
    "username":"andy",
    "age":20,
    "info": { "tel": "123456", "cellphone": "98765"},
    "address":
    [
    {"city":"beijing","postcode":"222333"},
    {"city":"newyork","postcode":"555666"}
    ]
    }

    alert(user.username);
    alert(user.age);
    alert(user.info.cellphone);
    alert(user.address[0].city);
    alert(user.address[0].postcode);
    }

    这表示一个user对象,拥有username, age, info, address 等属性。

    同样也可以用JSON来简单的修改数据,修改上面的例子

    程序代码

    function showJSON() {
    var user =
    {
    "username":"andy",
    "age":20,
    "info": { "tel": "123456", "cellphone": "98765"},
    "address":
    [
    {"city":"beijing","postcode":"222333"},
    {"city":"newyork","postcode":"555666"}
    ]
    }

    alert(user.username);
    alert(user.age);
    alert(user.info.cellphone);
    alert(user.address[0].city);
    alert(user.address[0].postcode);

    user.username = "Tom";
    alert(user.username);
    }

    JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。

    程序代码

    function showCar() {
    var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
    alert(carr.toJSONString());
    }

    function Car(make, model, year, color) {
    this.make = make;
    this.model = model;
    this.year = year;
    this.color = color;
    }

    可以使用eval来转换JSON字符到Object

    程序代码

    function myEval() {
    var str = '{ "name": "Violet", "occupation": "character" }';
    var obj = eval('(' + str + ')');
    alert(obj.toJSONString());
    }

    或者使用parseJSON()方法

    程序代码

    function myEval() {
    var str = '{ "name": "Violet", "occupation": "character" }';
    var obj = str.parseJSON();
    alert(obj.toJSONString());
    }

    下面使用prototype写一个JSON的ajax例子。

    先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话

    程序代码

    response.getWriter().print("{ /"name/": /"Violet/", /"occupation/": /"character/" }");

    再在页面中写一个ajax的请求

    程序代码

    function sendRequest() {
    var url = "/MyWebApp/JSONTest1";
    var mailAjax = new Ajax.Request(
    url,
    {
    method: 'get',
    onComplete: jsonResponse
    }
    );
    }

    function jsonResponse(originalRequest) {
    alert(originalRequest.responseText);
    var myobj = originalRequest.responseText.parseJSON();
    alert(myobj.name);
    }

    prototype-1.5.1.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法

    程序代码

    function jsonResponse(originalRequest) {
    alert(originalRequest.responseText);
    var myobj = originalRequest.responseText.evalJSON(true);
    alert(myobj.name);
    }

    JSON还提供了java的jar包 http://www.json.org/java/index.html API也很简单,下面举个例子

    在javascript中填加请求参数

    程序代码

    function sendRequest() {
    var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
    var pars = "car=" + carr.toJSONString();

    var url = "/MyWebApp/JSONTest1";
    var mailAjax = new Ajax.Request(
    url,
    {
    method: 'get',
    parameters: pars,
    onComplete: jsonResponse
    }
    );
    }

    使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)

    程序代码

    private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String s3 = request.getParameter("car");
    try {
    JSONObject jsonObj = new JSONObject(s3);
    System.out.println(jsonObj.getString("model"));
    System.out.println(jsonObj.getInt("year"));
    } catch (JSONException e) {
    e.printStackTrace();
    }
    response.getWriter().print("{ /"name/": /"Violet/", /"occupation/": /"character/" }");
    }

    同样可以使用JSONObject生成JSON字符串,修改servlet

    程序代码

    private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String s3 = request.getParameter("car");
    try {
    JSONObject jsonObj = new JSONObject(s3);
    System.out.println(jsonObj.getString("model"));
    System.out.println(jsonObj.getInt("year"));
    } catch (JSONException e) {
    e.printStackTrace();
    }

    JSONObject resultJSON = new JSONObject();
    try {
    resultJSON.append("name", "Violet")
    .append("occupation", "developer")
    .append("age", new Integer(22));
    System.out.println(resultJSON.toString());
    } catch (JSONException e) {
    e.printStackTrace();
    }
    response.getWriter().print(resultJSON.toString());
    }

    程序代码

    function jsonResponse(originalRequest) {
    alert(originalRequest.responseText);
    var myobj = originalRequest.responseText.evalJSON(true);
    alert(myobj.name);
    alert(myobj.age);

    展开全文
  • python3基础:操作json

    万次阅读 2018-12-02 23:21:05
    json是java script object notation的缩写,用来存储和交换文本信息,比xml更小/更快/更易解析,易于读写,占用带宽小,网络传输速度快的特性,适用于数据量大,不要求保留原有类型的情况。 json语法规则 数据在...

    json是java script object notation的缩写,用来存储和交换文本信息,比xml更小/更快/更易解析,易于读写,占用带宽小,网络传输速度快的特性,适用于数据量大,不要求保留原有类型的情况。

    json语法规则

    数据在名称/值对中
    数据用逗号分隔
    花括号保存对象
    方括号保存数组

    json名称/值对

    名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值,例:
    “firstname”:“json”

    json数据类型

    数字(整数、浮点数)
    字符串(在双引号中)
    逻辑值(true或false)
    数组(在方括号中)
    对象(在花括号中)
    null

    json对象

    在花括号中书写,对象可以包含多个名称/值对,例:
    {“firstname”:“jonh”,“lastname”:“Doe”}

    json数组

    employees是包含三个对象的数组。每个对象代表一条关于某个人名的记录,在方括号中书写,数组可以包含多个对象:
    {
    “employees”:[
    { “firstName”:“John” , “lastName”:“Doe” },
    { “firstName”:“Anna” , “lastName”:“Smith” },
    { “firstName”:“Peter” , “lastName”:“Jones” }
    ]
    }

    python解析json的流程

    使用时需要import json导入
    json.dumps():将python对象编码为json的字符串
    json.loads():将字符串编码为一个python对象
    json.dump():将python对象序列化到一个文件,是文本文件,相当于将序列化后的json字符写到一个文件
    json.load():从文件反序列表出python对象
    总结:不带s的是序列化到文件或者从文件反序列化,带s的都是内存操作不涉及持久化

    json.dumps()

    将一个Python数据类型列表编码成json格式的字符串

    #python的列表转换为json的数组
    >>> import json
    >>> json.dumps([1,2,3])
    '[1, 2, 3]'
    #python的字符串转换为json的字符串
    >>> json.dumps('abdcs')
    '"abdcs"'
    #python的元祖转换为json的数组
    >>> json.dumps((1,2,3,'a'))
    '[1, 2, 3, "a"]'#注意此时显示的是方括号
    #python的字典转换为json的对象
    >>> json.dumps({1:'a',2:'b'})
    '{"1": "a", "2": "b"}'#注意此时1和2转换后是加了引号的,因为json的名称是必须要加引号的
    #python的整数转换为json的数字
    >>> json.dumps(13)
    '13'
    #python的浮点数转换为json的数字
    >>> json.dumps(3.1415)
    '3.1415'
    #python的unicode字符串转换为json的字符串
    >>> json.dumps(u'a')
    '"a"'
    #python的True转换为json的数组true
    >>> json.dumps(True)
    'true'
    #python的False转换为json的数组false
    >>> json.dumps(False)
    'false'
    #python的None转换为json的null
    >>> json.dumps(None)
    'null'
    #json本质上是一个字符串
    >>> type(json.dumps('abc'))
    <class 'str'>
    

    python类型和json类型的对应关系

    根据以上输出结果会发现Python对象被转成JSON字符串以后,跟原始的数据类型相比会有些特殊的变化,原字典中的元组被改成了json类型的数组。在json的编码过程中,会存在从Python原始类型转化json类型的过程,但这两种语言的类型存在一些差异,对照表如下:
    python类型	json字符串类型dict	objectlist, tuple	arrayint, float	numberstr(注意bytes类型不能转换为json)	stringTrue	trueFalse	falseNone	null
    代码示例:Python类型与json类型示例比对

    #coding=utf-8
    import json
    a = [{1:12,"a":12.3}, [1,2,3],(1,2), "asd", "ad", 12,13,3.3,True, False, None]
    print("Python类型:\n", a)
    print("编码后的json串:\n", json.dumps(a))
    

    在这里插入图片描述

    如何判断一个json是否合法

    import json
    try:
    ##      json.loads('"abc"')
          json.loads('''abc''')
    except Exception as e:
          print (e)
    else:
          print('ok')
    

    json.dumps()函数参数的使用

    help(“json.dumps”)查看文档,函数原型:

    dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

    该方法返回编码后的一个json字符串,是一个str对象encodedjson。dumps函数的参数很多,下面只说明几个比较常用的参数。

    sort_keys

    是否按字典排序(a到z)输出,默认编码成json格式字符串后,是紧凑输出,并且也没有顺序的,不利于可读。sort_keys等于True表示升序
    代码示例:

    import json
    data=[{'a':'A','x':(2,4),'c':3.0}]
    print (json.dumps(data))
    print (json.dumps(data,sort_keys=True))
    

    输出结果
    在这里插入图片描述

    indent

    根据数据格式缩进显示,读起来更清晰,indent的数值表示缩进的位数
    代码示例:

    import json
    data=[{'a':'A','x':(2,4),'c':3.0}]
    print (json.dumps(data,sort_keys=True,indent=3))
    

    在这里插入图片描述

    separators

    去掉逗号“,”和冒号“:”后面的空格。从上面的结果中可以看出‘, :’后面都有个空格,这都是为了美化的作用,但是在传输的过程中,越精简越好,冗余的东西去掉,因此就可以加上separators参数对传输的json串进行压缩。该参数是元组格式的。
    代码示例:

    import json
    data=[{'a':'A','b':(2,4),'c':3.0}]
    print (json.dumps(data))
    print (json.dumps(data,separators=(',',':')))
    
    

    在这里插入图片描述

    shipkeys

    在encoding的过程中,dict的对象只能是基本数据类似(int,float,bool,None,str),如果是其它类型,那么在编码的过程中就会抛出ValueError异常。shipkeys可以跳过那些非string对象的key的处理,就是不处理。
    代码示例

    #coding=utf-8
    import json
    data= [ { 'a':'A', 'b':(2, 4), 'c':3.0,(1,2):'D tuple'} ]
    try:
          res=json.dumps(data)#skipkeys参数默认为False时
    except Exception as e:
          print (e)
    print(u"设置skipkeys 参数")
    print (json.dumps(data,skipkeys=True)))
    
    

    在这里插入图片描述

    ensure_ascii

    表示编码使用的字符集,默认是True,表示使用ascii码进行编码。如果设置为False,就会以Unicode进行编码。由于解码json字符串时返回的就是Unicode字符串,所以可以直接操作Unicode字符,然后直接编码Unicode字符串,这样会简单些。
    代码示例

    import json
    print (json.dumps('凉凉'))
    print (json.dumps('凉凉',ensure_ascii=False))
    

    在这里插入图片描述

    default:将类对象编码成Json串

    Python中的dict对象可以直接序列化为json的{},但是很多时候,可能用class表示对象,比如定义Employe类,然后直接去序列化就会报错。原因是类不是一个可以直接序列化的对象,但我们可以使用dumps()函数中的default参数来实现,由两种方法:

    1. 在类内部定义一个obj_json 方法将对象的属性转换成dict,然后再被序列化为json。
    2. 通过__dict__属性,通常class及其实例都会有一个__dict__属性(除非类中添加了__slots__属性),它是一个dict类型,存储的是类或类实例中有效的属性

    代码示例1:通过类中的方法实现

    import json
    class Employee(object):
          def __init__(self,name,age,sex,tel):
                self.name=name
                self.age=age
                self.sex=sex
                self.tel=tel
          #将序列化函数定义到类中
          def obj_json(self,obj_instance):
                return{
                'name':obj_instance.name,
                'age':obj_instance.age,
                'sex':obj_instance.sex,
                'tel':obj_instance.tel
                }
    emp=Employee('kongsh',28,'female',13123456789)
    print (json.dumps(emp,default=emp.obj_json))
    
    

    在这里插入图片描述
    代码示例2:通过类的__dict__属性实现

    import json
    class Employee(object):
          def __init__(self,name,age,sex,tel):
                self.name=name
                self.age=age
                self.sex=sex
                self.tel=tel
    
    emp=Employee('kongsh',18,'female',13123456789)
    print (emp.__dict__)
    print (json.dumps(emp,default=lambda Employee:Employee.__dict__))
    print (json.dumps(emp,default=lambda emp:emp.__dict__))
    

    在这里插入图片描述

    json.loads()

    将json的字符串解码成python对象

    >>> json.loads('{"a":"b"}')#外面用单引号
    {'a': 'b'}
    >>> json.loads('{"2":1}')
    {'2': 1}
    >>> a=json.loads('{"1":{"a":"b"}}')
    >>> a
    {'1': {'a': 'b'}}
    

    json转换为python

    由以上输出可以看出编码过程中,Python中的list和tuple都被转化成json的数组,而解
    码后,json的数组最终被转化成Python的list的,无论是原来是list还是tuple。
    json格式	python格式object	dictarray	liststring	unicodenumber(int)	intnumer(real)	floattrue	Truefalse	Falsenull	None
    代码示例:从json到Python的类型转化

    #coding=utf-8
    import json
    a = [{1:12, 'a':12.3}, [1,2,3], (1,2), 'asd', 'ad', 12, 13, 3.3, True, False, None]
    print(u"编码前\n", a)
    print(u"编码后\n", json.dumps(a))
    print(u"解码后\n", json.loads(json.dumps(a)))
    

    在这里插入图片描述
    注意:
    json格式的字符串解码成Python对象以后,String类型都变成了Unicode类型,数组变成了list,不会回到原来的元组类型,字典key的字符类型也被转成Unicode类型

    json反序列化为对象

    json反序列化为类对象或者类的实例,使用的是loads()方法中的object_hook参数
    代码示例:

    import json
    class Employee(object):
          def __init__(self,name,age,sex,tel):
                self.name=name
                self.age=age
                self.sex=sex
                self.tel=tel
    emp=Employee('kongsh',18,'female',13123456789)
    def jsonToClass(emp):
          return Employee(emp['name'], emp['age'], emp['sex'], emp['tel'])
    
    json_str='{"name": "kongsh", "age": 18, "sex": "female", "tel": 13123456789}'
    
    e=json.loads(json_str,object_hook=jsonToClass)
    print (e)
    print(e.name)
    

    在这里插入图片描述

    展开全文
  • Python中的json操作

    万次阅读 多人点赞 2018-07-26 01:29:35
    1.什么是Json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。 前端和后端进行数据交互,其实就是JS和Python进行数据交互 JSON注意事项: (1)名称...

    1.什么是Json?

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。

    前端和后端进行数据交互,其实就是JS和Python进行数据交互

    JSON注意事项:
    (1)名称必须用双引号(即:””)来包括
    (2)值可以是双引号包括的字符串、数字、true、false、null、JavaScript数组,或子对象。

    2.python数据类型与json数据类型的映射关系

    Python

    JSON
    dict object
    list, tuple array
    str, unicode string
    int, long, float number
    True true
    False

    false

    None null

    3. json中常用的方法

    在使用json这个模块前,首先要导入json库:import json

    方法 描述
    json.dumps() 将 Python 对象编码成 JSON 字符串
    json.loads() 将已编码的 JSON 字符串解码为 Python 对象
    json.dump() 将Python内置类型序列化为json对象后写文件
    json.load() 读取文件中json形式的字符串元素转化为Python类型

     举例:

    3-1   json.dumps()

    import json
    
    data = {'name':'nanbei','age':18}
    #将Python对象编码成json字符串
    print(json.dumps(data))
    

    结果:

    {"name": "nanbei", "age": 18}

    注: 在这里我们可以看到,原先的单引号已经变成双引号了

    3-2 json.loads()

    import json
    
    data = {'name':'nanbei','age':18}
    #将Python对象编码成json字符串
    #print(json.dumps(data))
    #将json字符串编码成Python对象
    a = json.dumps(data)
    print(json.loads(a))

     结果:

    {'name': 'nanbei', 'age': 18}
    

    在这里举个元组和列表的例子:

    import json
    
    data = (1,2,3,4)
    data_json = [1,2,3,4]
    #将Python对象编码成json字符串
    print(json.dumps(data))
    print(json.dumps(data_json))
    #将json字符串编码成Python对象
    a = json.dumps(data)
    b = json.dumps(data_json)
    print(json.loads(a))
    print(json.loads(b))

     结果:

    [1, 2, 3, 4]
    [1, 2, 3, 4]
    [1, 2, 3, 4]
    [1, 2, 3, 4]
    

    可以看到,元组和列表解析出来的均是数组。

    3-3 json.dump()

    import json
    
    data = {
        'nanbei':'haha',
        'a':[1,2,3,4],
        'b':(1,2,3)
    }
    with open('json_test.txt','w+') as f:
        json.dump(data,f)

    查看结果:

    3-4 json.load()

    import json
    
    data = {
        'nanbei':'haha',
        'a':[1,2,3,4],
        'b':(1,2,3)
    }
    with open('json_test.txt','w+') as f:
        json.dump(data,f)
    
    with open('json_test.txt','r+') as f:
        print(json.load(f))

    结果:

    {'a': [1, 2, 3, 4], 'b': [1, 2, 3], 'nanbei': 'haha'}

    4.参数详解:

    dump(obj,skipkeys=False, ensure_ascii=True, check_circular=True,
            allow_nan=True, cls=None, indent=None, separators=None,
            default=None, sort_keys=False, **kw):

    #  函数作用:       将Python的对象转变成JSON对象

    #  skipkeys:       如果为True的话,则只能是字典对象,否则会TypeError错误, 默认False

    #  ensure_ascii:   确定是否为ASCII编码

    #  check_circular: 循环类型检查,如果为True的话

    #  allow_nan:      确定是否为允许的值

    #  indent:         会以美观的方式来打印,呈现,实现缩进

    #  separators:     对象分隔符,默认为, 

    #  encoding:       编码方式,默认为utf-8     

    #  sort_keys:      如果是字典对象,选择True的话,会按照键的ASCII码来排序    

    对于dump来说,只是多了一个fp参数

    dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,
            allow_nan=True, cls=None, indent=None, separators=None,
            default=None, sort_keys=False, **kw)
    Serialize ``obj`` as a JSON formatted stream to ``fp`` (a
    ``.write()``-supporting file-like object).

    简单说就是dump需要一个类似文件指针的参数(并不是真正的指针,可以称之为文件对象),与文件操作相结合,即先将Python文件对象转化为json字符串再保存在文件中。。。


    已经好久没有跟男神说话了~~~哎,最近也有点懒了,实在是罪该万死,前路慢慢,加油吧~

    
     

     

     

     

     

     

     

     

     

     

    展开全文
  • JS操作JSON总结

    千次阅读 2018-11-26 15:47:41
    JS操作JSON总结 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据...
  • JS操作JSON常用方法

    万次阅读 2016-10-28 12:04:33
    工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结: 一、概念简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用...
  • JAVA对json操作的五种方法详解

    千次阅读 2018-09-10 20:32:36
    我们在日常开发中少不了和JSON数据打交道,下面总结了用到的框架来解析JSON数据 json-lib org.json jackSon fastjson GSON 1. json-lib json-lib具有通用性,但是比较麻烦,且时间有些久远,jar包只更新到2010...
  • python 操作json

    千次阅读 2018-01-23 22:49:54
    # encoding=utf-8 import numpy as np import pandas as pd ...import json # JSON 数据 obj = """ { "name":"Wes", "places_lived":["United States","Germany"], "pet":null, "siblings":
  • Python操作json文件

    2018-07-13 16:10:11
    1、说明:dumps:将python中的字典转换为字符串,loads:将字符串转换为字典,dump:将数据转换成字符串并写入到json文件中,load:把文件打开,并把字符串转换为字典import jsonimport timedef dumps_uses(): '''...
  • JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999...
  • Python操作json用法及json示例

    千次阅读 2016-11-03 15:40:38
    python import json 用法】  json.loads : 将python字符串 转换为 python字典/列表  json.dumps : 将python字典/列表 转换为 python字符串 ## 代码示例: def write_json(): a = { "type" : ...
  • python json操作

    千次阅读 2016-12-16 14:58:09
    python使用中经常会遇到json解析数据的处理,json字符串转化成dict,dict转化成json字符串。...2 pyton操作json代码:  >>>import json  json字符串转化成dict  >>> print json.loads('{"ll": null,
  • 二、C++操作json文件 1、jsoncpp 库下载 2、C++从字符串中读取json 3、C++从文件中读取json 4、C++写入json文件 5、主函数 附:jsoncpp库配置 1、解压并转移 2、配置属性 3、配置项目 前言 json文件是...
  • Python操作json对象

    2019-04-12 22:03:00
    转载于:https://www.cnblogs.com/xlij1205/p/10698916.html
  • # -*- coding: utf-8 -*- import json ...#操作json文件的类 class Operation_json(): def __init__(self,file_path=None): if file_path ==None: self.file_path = "C:/Users/XY/PycharmProject...
  • python操作json文件

    2020-07-24 10:31:20
    def write_json(filename, data_dict): # 将字典数据写入到json文件中 with open(filename, 'w', encoding="utf8") as fp: json.dump(data_dict, fp, ensure_ascii=False) def read_json(filename): # 读取...
  • python操作json方法

    2017-01-21 10:34:38
    python中对json操作方法有两种,解码loads()和编码dumps() 简单来说: import json dicts = json.loads() #loads()方法,将json串解码为python对象,字典 json = json.dumps(dicts) #dumps()方法,将python字典...
  • python json和java json的使用

    千次阅读 2017-10-05 11:48:02
    python json和java json的使用 1、python json import json data={ "id" : 123, "name" : "Henry Smith", "age" : 28, "salary" : 2000, "designation" : "Programmer", "ad
  • Python 操作 json

    2015-03-02 10:09:53
    1、安装  pip install simplejson 实例  import simplejson as json  json.dumps(['foo', {'bar': ('baz', '白菜', 1.0, 2)}]) 请关注
  • python json转对象

    万次阅读 2020-06-30 13:42:14
    json转对象是python比较常见的一个应用场景,如何来实现呢?这里会涉及json模块中的loads方法,具体操作如下: 导入json包 import json 自定义class class Result: def __init__(self, token, userName, empCode)...
  • 1  添加属性:   var myObject={"name":"张三”} 如何添加属性age,得到下面的效果呢?     var myObject={“name":"张三”,“age”:10}    ...Object&nb...
  • python操作json对象

    2016-11-29 21:20:29
    #!/usr/bin/python #coding: utf-8 import json # 字典对象 st = { "programmers": [{ "firstName": "Brett", "lastName": "McLaughlin", "email": "aaaa" }, { "firstName":
  • python3操作json

    2019-05-10 17:05:02
    json本身就是一种字符串。 # 需要导入模块包 import json 1,将字符串转为json格式 s1 = "{'key1':'value1','key2':'value2'}" print(s1) print(type(s1)) js1 = json.dumps(s1) print(js1) print(type(js1)) 结果...
  • 操作JSON对象

    千次阅读 2015-01-26 19:56:49
    JSON类型对象,最简单了,就是键值对,key:value、key:value、一直不停地key:value下去,层层嵌套,理论上多少层都可以,只要你喜欢。可是,每次应用JSON,我都心烦意乱,甚至吓到面无人色。何哉?不懂咯,没有真正...
  • 使用Java操作JSON字符串对象

    千次阅读 2009-09-14 13:18:00
    上公布了很多Java下的json解析工具,其中org.jsonjson-lib比较简单,两者使用上差不多。下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序。 ...
  • Python数据操作—处理Json数据

    千次阅读 2018-07-29 22:30:34
    JSON文件以可读的格式将数据存储为文本。 JSON代表JavaScript Object Notation。 使用read_json函数,Pandas可以读取JSON文件。 输入数据 通过将以下数据复制到文本编辑器(如记事本)来创建JSON文件。选择文件类型...
  • C#操作json类型数据

    千次阅读 2013-02-27 13:36:22
    转自:... 将对象序列化为 JavaScript 对象表示法 (JSON),并将 JSON 数据反序列化为对象。 此类不能继承。 // msdn 例子: namespace SL_DataContractJsonSerializer { public
  • python读写json文件方法示例

    万次阅读 2018-10-08 11:20:33
    python的字典可以实现与json格式的互相转化,主要是json.dump和json.load python写入json文件 首先,我们将python创建一个字典类型的数据data,打包为json字符串格式 data = { 'name':'ACM', 'day':'2018-11'...
  • js操作json对象

    万次阅读 2017-10-16 20:36:47
    工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结: 一、概念简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,...
  • 组装json格式数据 今天突然想发一个组装拼接json数据的方法! 新的改变 我对之前写的拼接json数据的方法非常失望,效率低的同时,还很辣鸡。。点击这里进入辣鸡方法~ 全新的json拼接思路 ,将会带来全新的拼接体验...

空空如也

1 2 3 4 5 ... 20
收藏数 559,302
精华内容 223,720
关键字:

操作json