• JSON学习


    1、JSON简介

    JSON:JavaScript对象表示法(JavaScript Object Notation)。是轻量级的文本数据交换格式,独立于语言和平台。与xml类似,比xml更小,更易解析。

    JSON特点:

    • 是纯文本。
    • 可以通过JavaScript解析
    • 可以使用Ajax进行传输
    • JSON 具有层级结构(值中存在值)

     2、JSON语法

    a、JSON语法规则:

    JSON 语法是 JavaScript 对象表示法语法的子集。

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

    b、两种结构:

    1、关键字:值

    1 {key1:values1   //json对象
    2  key2:values2
    3   }
    1  //json数组,数组中可以包含对象
    2  [
    3  { "firstName":"John" , "lastName":"Doe" },
    4  { "firstName":"Anna" , "lastName":"Smith" },
    5  { "firstName":"Peter" , "lastName":"Jones" }
    6  ]

    关键字是字符串,值可以是字符串(在双引号中),数值(整数或浮点数),true,false,数组,对象,null

    3、JSON字符串与JSON对象的区别:

    json字符串:指的是符合json格式要求的js字符串,用双引号或单引号括起来。例如:var jsonStr = "{StudentID:'100',Name:'tmac'}";
    json对象:指符合json格式要求的js对象。例如:var jsonObj = { StudentID: "100", Name: "tmac" };

    4、js中使用json

    JSON是JS的一个子集,所以可以在JS中轻松地读,写JSON。

    
    
    1 //json对象
    2 var employees = { [
    3 { "firstName":"Bill" , "lastName":"Gates" },
    4 { "firstName":"George" , "lastName":"Bush" },
    5 { "firstName":"Thomas" , "lastName": "Carter" }
    6 ]}

    1,从JSON中读数据

    
    
    function ReadJSON() {
                alert(employees[0].firstName);
            }

    2,修改JSON中的数据

    
    

    我们现在要修改JSON中 employees[0].lastName的值,代码如下:

    1 function Update() {
    2           employees[0].lastName = "Jobs";
    3         }

    5、其它资料:

       永远的麦子---json详解

       W3C--JSON教程

    6、JOSN在接口测试工具SoapUI中的使用

       项目接口测试中,参数使用json的方式传输。

    madia Type选择“application/json”  ,并传入值{"prodNo":"WP001","prodName":"板栗01","adderName":"admin0","adderIp":"127.0.0.1"}

    如果接口参数规定JSON的charset=UTF-8,则request》request Params 的encoding需要选择utf-8,否则接口会返回错误信息,格式无法转换

    设置后,在右侧的Raw中可以看到:

    Content-Type:application/json;charset=UTF-8

     

    
    
  • 相关阅读:
    loadrunner -27778 https连接问题
    https调试
    Session Alerts
    Pause Web Sessions
    Customize Web Sessions List
    单例模式:Java单例模式的几种写法及它们的优缺点
    Activity: launchMode 和 Intent.FLAG_ACTIVITY_CLEAR_TOP
    TextView: android:ellipsize="marquee" 跑马灯效果无效的问题
    Socket通信(1):搭建开发环境
    linux: QT安装时出现段错误segmentation fault
  • 原文地址:https://www.cnblogs.com/lhjlyg/p/5885358.html
Copyright © 2020-2023  润新知