json python 转义字符处理_python接口自动化入参json传参遇到转义字符,复杂入参,格式化方法;遇到中文报错用 : ensure_ascii...

本文介绍了如何在Python中处理JSON格式的输入参数,特别是遇到转义字符和中文报错的情况。通过示例代码展示了如何转换JSON字符串,包括将双引号转为单引号,去除换行符,并在序列化时使用`ensure_ascii=False`来避免中文乱码问题。
摘要由CSDN通过智能技术生成

入参:application/json格式

{"district":"","activityId":"","city":"闵行区","districtId":0,"channel":"JIOS","payMethod":1,"provinceId":0,"ShopId":"38","province":"上海市","cityId":0,"pageIndex":1,"Products":"[\n  {\n    \"ActivityId\" : \"\",\n    \"ProductId\" : \"TR-BS-TECHNO\",\n    \"InstallShopId\" : \"\",\n    \"ServiceId\" : \"\",\n    \"Quantity\" : 2,\n    \"VariantId\" : \"15\",\n    \"InstallShop\" : \"\"\n  },\n  {\n    \"ActivityId\" : \"\",\n    \"InstallShopId\" : \"38\",\n    \"ServiceId\" : \"FU-TUHU-LUTAI|1\",\n    \"ProductId\" : \"FU-TUHU-LUTAI\",\n    \"VariantId\" : \"1\",\n    \"Quantity\" : 2,\n    \"InstallShop\" : \"(仙霞小周)\"\n  },\n  {\n    \"Quantity\" : 1,\n    \"ProductId\" : \"FU-TUHU-MFQCJC\",\n    \"ActivityId\" : \"\",\n    \"InstallShopId\" : \"38\",\n    \"InstallShop\" : \"(仙霞小周)\",\n    \"VariantId\" : \"1\",\n    \"ServiceId\" : \"FU-TUHU-MFQCJC|1\"\n  }\n]","orderType":"Tires","isInstall":"true"}

①转义字符存在“”,与前面的“”重复,转成’单引号

②去掉\n

遇到中文报错用  :ensure_ascii=False

ori_data = {'LatBegin': '31.13584041936424', 'PromotionCode': '','black_box': 'eyJ0b2tlbklkIjoiOStHTGhOSXJyREJ1NzhPQUNHM3U4c1JtSFwvWW9mRk1XaUVJUlBFOHdmbnRraWU0anU3Y3I5WFl2M0RLS3hDM1Ywb3U2T21Gd21uNVpQVVVBelZROVhRPT0iLCJvcyI6ImlPUyIsInNlcUlkIjoiMTU5MTg0Njk5MzQyMDY5NTM5MSIsInByb2ZpbGVUaW1lIjo2MjQsInZlcnNpb24iOiIzLjIuNCJ9','BookType': 1, 'LngBegin': '121.40297080079473', 'activityId': '', 'IsTirePressure': False,'Type': 'Tire','LabelType': 3, 'Channal': 'TongDunIos','OrderList': [{'Quantity': 2, 'ProductId': 'TR-MP-CVC6', 'ActivityId': '', 'VariantId': '11'},

{'ProductId': 'FU-TUHU-MFQCJC', 'VariantId': '1', 'ActivityId': '', 'Quantity': 1}],'Name': '途虎测试1','DefaultAddress': {'City': '上海市', 'Cellphone': '18916207417', 'DistrictID': 35, 'Street': '','StreetId': 0,'Consignees': '途虎测试1', 'CityID': 1, 'AddressDetail': 'Fvhhhh', 'District': '黄浦区','ProvinceID': 0, 'Province': '上海市'}, 'OrderChannel': 'JIOS','Cellphone': '18916207417','PayMothed': 4,'DefaultCar': {'InsuranceRouter': '\\\/webView?url=https%3a%2f%2fwx.tuhu.cn%2freact%2fcarInsurance%2findex.html','StandardTireSize': '205\\\/55R16;195\\\/65R15;205\\\/50R17', 'Status': -1, 'Brand': 'D - 大众','IsTransferInOneYear': False, 'PropertyList': [], 'SalesName': '2015款 1.6L 手自一体 豪华版','CarTypeDescription': '大众 朗逸 1.6L 2019年产 2015款 1.6L 手自一体 豪华版', 'Pailiang': '1.6L','TID': '16299','ImageUrl': 'https:\\\/\\\/img1.tuhu.org\\\/Images\\\/Logo\\\/dazhong.png','CarID': 'acdd768b-1858-460f-a37a-0c412e413186', 'LastChangedDate': '2020-06-09 16:21:30','CarName': '朗逸', 'OdometerUpdatedTime': '2020-06-09 13:51:59', 'ProductID': 'VE-DDZLYSJDZ','IsShowCertificationInfo': True, 'IsDefaultCar': True, 'BrandType': '上海大众', 'OnRoadMonth': '','TireSizeForSingle': '205\\\/55R16', 'Nian': '2019','TireSize': '205\\\/55R16;195\\\/65R15;205\\\/50R17', 'LastBaoYangKM': 0, 'Vehicle': '朗逸-上海大众'},'UseIntegral': 'false', 'ShopId': '38', 'IsStockOut': False, 'ArrivalTime': ''}

ori_data["OrderList"][0]["Quantity"] =quantity

ori_data["OrderList"][0]["ProductId"] =product_id

ori_data["OrderList"][0]["ActivityId"] =activity_id

ori_data["OrderList"][0]["VariantId"] =variant_id

jsonStr= json.dumps(ori_data, ensure_ascii=False)

data={"jsonStr": jsonStr

}

response= request(method="post", url=url, headers=headers, json=data, verify=False)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值