zoukankan      html  css  js  c++  java
  • 以Python为基础的REST(JSON为交换数据)接口的测试框架设计(二)JSON的修改

    在第一章节的需求说明中,需要实现下面两点。本章节介绍下面两个功能的实现:

    1、测试数据和测试用例分离,即要求每个测试用例从文件中读取JSON数据,然后发送

    2、要具有修改JSON数据的能力,可以根据给定的变量名称和值,修改从文件中读取的JSON数据,然后发送提供JSON消息的MOD方法(修改JSON消息中的某个字段)

    读取文件比较简单,读取出来的JSON数据是字符串形式的,可以利用Python的JSON库来进行转换,把字符串类型转换为字典类型,然后来访问每个字典的值。给指定的索引赋值。

    当前调试环境为:python 2.7版本,后续无特性说明,都以此版本为准。

    下面是实现代码:

    # -*- coding: encoding -*-
    import json
    import types
    
    f =file('testjson2.json','r')
    sjson =''
    while True:
        myjson=f.readline()
        if len(myjson) ==0:
            break
        sjson= sjson + myjson
    f.close()
    
    print 'sjson type is:',type(sjson)
    mjson = json.loads(sjson)
    print 'sjson change is',type(mjson)
    print 'the length os mjson is ',len(mjson)
    json_len = len(mjson)
    
    sub = 'brief'
    
    print mjson['brief']
    mjson['brief'] = 'modify'
    print mjson['brief']
    
    print mjson

    testjson2.json内容如下:

     1 {
     2     "brief": "ooooo",
     3     "class_extid": 13,
     4     "create_time": 1131783174,
     5     "face_id": 4,
     6     "flag    ": 6777217,
     7     "flag_ext": 0,
     8     "level": 0,
     9     "max_member": 100,
    10     "memo": "m~F~M0m~Zm~@~B",
    11     "name": "10502",
    12     "option": 2,
    13     "ul": [
    14         {
    15             "flag": 4,
    16             "u": 285
    17         },
    18         {
    19             "flag": 4,
    20             "u": 35
    21         }
    22     ]
    23 }

    运行输出如下:蓝色字体为修改后的输出。

    sjson type is: <type 'str'>
    sjson change is <type 'dict'>
    the length os mjson is 12
    ooooo
    modify
    {'ul': [{'flag': 4, 'u': 285}, {'flag': 4, 'u': 35}], 'name': '10502', 'level': 0, 'memo': 'm~F~M0m~Zm~@~B', 'brief': 'modify', 'max_member': 100, 'create_time': 1131783174, 'flag_ext': 0, 'class_extid': 13, 'face_id': 4, 'flag ': 6777217, 'option': 2}

  • 相关阅读:
    [Tyvj模拟赛]运
    [NOIP 2011]聪明的质监员
    暑假集训D10总结
    暑假集训D9总结
    [POI2008]枪战Maf
    [Usaco2007 Open]Fliptile 翻格子游戏
    [bzoj1592] Making the Grade
    学生信息管理系统(增删改查)【代码不完整】
    《程序员修炼之道》第五次读后感
    《程序员修炼之道》第四次读后感
  • 原文地址:https://www.cnblogs.com/StitchSun/p/2810460.html
Copyright © 2011-2022 走看看