JSON的使用及简单案例

1.JSON 概念:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

2.JSON基础结构:JSON建构与两种结构

.“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。

     按照最简单的形式,可以这样表示名称 / 值对: { "firstName": "Brett" } ,这个示例非常基本,而且实际上比等效的纯文本名称 / 值对占用更多的空间: firstName=Brett ,但是,当将多个名称 / 值对串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个名称 / 值对的 记录,比如:

 { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

     从语法方面来看,这与名称 / 值对相比并没有很大的优势,但是在这种情况下 JSON 更容易使用,而且可读性更好

. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

     当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性。

     { "people": [

  { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

  { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

  { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

  ]}

  这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

3.应用案例:

<--  引入JSON脚本  -->

<script language="javascript" src="${pageContext.request.contextPath}/js/json2.js"></script>

 

<script type="text/javascript" language="javascript">
        
      //1.Json串存一个字符串
      var _jStr=new Object();
      var  _username="AA";                                                                                                                                                                                                                                                                            var _password="BB";
      
       //2.Json串存一个普通数组
      var _array=new Array();
      _array.push(1);
      _array.push(2);
      _array.push(3);
      _jStr.username=_username;
      _jStr.password=_password;
      _jStr.array=_array;
           
     var jStr=JSON2.stringify(_jStr);
        
     //3.Json串传递一个Json对象
     var _jStr1=new Object();
     _jStr1.jStr1=_jStr;  //_jStr1.jStr1=jStr;   
    
     var jStr1=JSON2.stringify(_jStr1);
    
     //4.JSON传一个JSON数组
     var _jStr2=new Object();
     var _array1=new Array();
     _array1.push(_jStr);
     _array1.push(_jStr1);
     _jStr2.array1=_array1;
    
     var jStr2=JSON2.stringify(_jStr2)
    
      alert("带数组参数的JSON串:"+jStr);     
      alert("带JSON串的JSON串:"+jStr1);
      alert("带JSON数组的JSON串:"+jStr2);
      alert("未被转化的JSON对象:"+_jStr1);
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的基于 JSON Web Token(JWT)的身份验证案例: 1. 安装所需的库 ``` pip install pyjwt ``` 2. 生成JWT Token ```python import jwt import datetime # 定义过期时间 expire_time = datetime.datetime.utcnow() + datetime.timedelta(minutes=30) # 定义payload payload = { 'user_id': '123456', 'username': 'john', 'exp': expire_time } # 生成token jwt_token = jwt.encode(payload, 'secret_key', algorithm='HS256') print(jwt_token) ``` 上述代码中,我们使用了 pyjwt 库来生成 JWT Token。它的 encode() 方法接收三个参数:payload、密钥和算法。payload 是一个字典,包含我们想要在 Token 中存储的信息,例如用户ID、用户名、过期时间等等。密钥是一个字符串,用于加密 Token。算法是指用于加密 Token 的算法,这里我们选择了 HS256。 3. 验证JWT Token ```python import jwt # 定义Token jwt_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMTIzNDU2IiwidXNlcm5hbWUiOiJqb2huIiwiZXhwIjoxNjMxMzEwMDUzfQ.XsDEjcd7jH8qC-6pZlWjZaFvDz-pT8NvQYrWb8I3-5c' # 验证Token try: decoded_token = jwt.decode(jwt_token, 'secret_key', algorithms=['HS256']) print(decoded_token) except jwt.ExpiredSignatureError: print('Token已过期') except jwt.InvalidTokenError: print('无效的Token') ``` 上述代码中,我们使用了 pyjwt 库的 decode() 方法来验证 Token。它接收三个参数:Token、密钥和算法。如果 Token 有效,则返回包含信息的字典。如果 Token 过期或无效,则会引发 jwt.ExpiredSignatureError 或 jwt.InvalidTokenError 异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值