zoukankan      html  css  js  c++  java
  • urlencoded、json 格式详解

    表单格式详解

    概念

    • urlencoded 格式,又叫 form 格式、x-www-form-urlencoded 格式
    • 它是一种表单格式
     

    组成格式

    • 键值对组成
    • 键和值之间用 :name=poloyy
    • 多个键值对之间用 :name=poloyy&age=19

    实际例子

    浏览器百度搜索

    content-type 可以选择 x-www-form-urlencoded 格式

    JSON 格式详解

    什么是 JSON

    官方解释,太官方了,看看就好

    • JSON 是存储和交换文本信息的语法。类似 XML
    • JSON 比 XML 更小、更快,更容易解析
    • JSON是独立于语言
    • JSON 具有自我描述性,更易理解

    认识 JSON 有四个口诀

    口诀一

    • JSON 有对象、数组两种数据结构
    • 有字符串、数字、逻辑值、空值四种数据类型

    口诀二

    • 用 {} 表示对象
    • 对象是由属性组成的
    • 属性是由键值对组成的
    • 键和值之间用 ; 隔开
    • 属性之间用 , 隔开

    对象栗子:

    {"姓名":"姚明","年龄":38}

    口诀三

    •  [] 表示数组
    • 数组由单独的值组成

    数组栗子:

    ["小鸡","小鸭","小狗"]
    [1,2,3,4]
    [true, false, true]
    [
       {"姓名":"姚明","年龄":38},
       {"姓名":"尧尧","年龄":22}
    ]

    口诀四

    json 数据结构可以相互嵌套

    比如:对象中可再嵌套数组、对象;数组中可再嵌套数组、对象

    嵌套栗子:

    {
      "姓名":"姚明",
      "年龄":38,
      "家禽":["小鸡","小鸭","小狗"]
    }
    [
       {"姓名":"姚明","年龄":38,"nums":[1,2,3]},
       {"姓名":"尧尧","年龄":22,"nums":[1,2]}
    ]

    JSON值的可以是以下几种形式

    • 数字(整数、浮点数)
    • 字符串
    • 逻辑值(true、false)
    • null
    • 对象
    • 数组

    如何用某种数据格式表述以下信息

    栗子一

    我的名字叫polo,年龄35岁,不抽烟

    urlencoded 格式

    name=polo&age=35&smoke=false

    json 格式

    {
      "name" :"polo",
      "age":35,
      "smoke":false
    }

    栗子二

    我的名字叫呱呱,年龄35岁,不抽烟,我有三本书(语文、数学、英语),我的领导是瑶老师,他年龄35岁。我有2个孩子,唧唧5岁,呱呱15岁

    urlencoded 格式

    无法用此格式表述

    json 格式

    {
       "name":"呱呱",
       "age":35,
       "smoke":false,
       "book":["语文","数学","英语"],
       "leader":{
           "name":"yy",
           "age":35,
           "sons":[
                { "name":"唧唧","age":5 },
                { "name":"呱呱","age":15  },
           ]
        }
    }

    博主踩过的坑和注意事项

    first

    {
       "name":"poloyy",
       "age":21,
    }

    这样的 json 格式是会报错的,那么你知道错误在哪里吗?

    坑:

    最后一个属性结尾处不需要跟 , 

    但需要注意的是,数组最后一个元素后面是可以跟 , 的

    second

    • JSON 规定字符集是UTF-8,字符串必须使用 "" ,Object 的也必须使用 "" 
    • 不可以是单引号 '' ,因为用标准库做反序列化的时候会识别不了哦

    third

    {
      "flag":"true"
    }

    这样子写,值是字符串而不是逻辑值哦

     
  • 相关阅读:
    Advanced Configuration Tricks
    Reviewing the Blog Module
    Editing and Deleting Data
    Making Use of Forms and Fieldsets
    Understanding the Router
    SQL Abstraction and Object Hydration
    Preparing for Different Databases
    Java学习理解路线图
    Openstack学习历程_1_视频
    CentOS安装Nginx负载
  • 原文地址:https://www.cnblogs.com/lijing1/p/13516285.html
Copyright © 2011-2022 走看看