• Json学习


    什么是 JSON ?

      1 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

      2 JSON 是轻量级的文本数据交换格式

      3 JSON 独立于语言 *

      4 JSON 具有自我描述性,更易理解

      5 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

    相比 XML 的不同之处

      1 没有结束标签

      2 更短

      3 读写的速度更快

      4 能够使用内建的 JavaScript eval() 方法进行解析

      5 使用数组

      6 不使用保留字

    为什么使用 JSON?

      对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用

    JSON 值可以是:

      1 数字(整数或浮点数)

      2 字符串(在双引号中)

      3 逻辑值(true 或 false)

      4 数组(在方括号中)

      5 对象(在花括号中)

      5 null

    JSON 对象

    JSON 对象在花括号中书写:

    对象可以包含多个名称/值对:

    { "firstName":"John" , "lastName":"Doe" }

    JSON 数组

    JSON 数组在方括号中书写:

    数组可包含多个对象:

    {
    "employees": [
    { "firstName":"John" , "lastName":"Doe" },
    { "firstName":"Anna" , "lastName":"Smith" },
    { "firstName":"Peter" , "lastName":"Jones" }
    ]
    }

    在js中使用json

    字符串

    var str1 = '{ "name": "cxh", "sex": "man" }';
    

    json对象

    var str2 = { "name": "cxh", "sex": "man" };

    将json字符串转化为json对象

    var obj = eval('(' + str1 + ')');
    var obj = JSON.parse(str1);

    将jjson对象转化为son字符串

    var str = JSON.stringify(str2);

    json对象可以这样读取

     Alert(obj.name);
    

    在python使用json

    使用 JSON 需要导入 json 库:import json

    json.dumps使用 将字典类型转化为json字符串

    import json
    t_dict = {
    	"k1":"v1",
    	"k2":"v2",
    }
    print(json.dumps(t_dict))  # 字符串格式 {"k1":"v1","k2":"v2"}
    t_dict = {
    	"k1":"v1",
    	"k2":"好",
    }
    print(json.dumps(t_dict))  # 字符串格式 {"k1":"v1","k2":"u597d"} 不过是unicode编码
    t_dict = {
    	"k1":"v1",
    	"k2":"好",
    }
    print(json.dumps(t_dict, ensure_ascii=False))  # 字符串格式 {"k1":"v1","k2":"好"}
    

    json.loads使用  将字符串转化为字典或元祖类型

    import json
    
    t_dict = '[{"k1":"v1"},{"k2":"v1"}]'
    t_c_dict = json.loads(t_dict)
    print(t_c_dict, type(json.loads(t_dict)))  # [{'k1': 'v1'}, {'k2': 'v2'}] <class 'list'>
    
    t_dict = '[{"k1":"v1"},{"k2":"好"}]'
    t_c_dict = json.loads(t_dict)
    print(t_c_dict, type(json.loads(t_dict)))  # [{'k1': 'v1'}, {'k2': '好'}] <class 'list'>

    json.dumps使用  用于处理文件类型

    import json
    t_dict = {"k1":"v1","k2":"v2"}
    with open("data.txt", "w", encoding="utf-8") as f:
    	json.dump(t_dict, f) 				# data.txt中 {"k1": "v1", "k2": "v2"}
    

    json.loads使用 用于处理文件类型

    import json
    with open("data.txt", "r") as f:
    	t_dict = json.load(f)
    	# t_dict = json.loads(f.read())   # 与上面效果一样
    	print(t_dict, type(t_dict))		# {'k1': 'v1', 'k2': 'v2'} <class 'dict'>
    

      

  • 相关阅读:
    install_bugzilla
    R610 & R710 网卡问题
    总结开发者在合作过程中的典型交流方式
    vnc报错 font catalog is not properly configured
    eclipse插件安装
    extjs 点击链接到另一个页面 并激活另一个页面的指定tab
    centos c++ 找不到头文件mysql.h
    升级struts 2
    oracle 删除用户报错
    mysql 创建用户及授权
  • 原文地址:https://www.cnblogs.com/KIV-Y/p/10599749.html
Copyright © 2020-2023  润新知