发送带有请求的JSON数组



url编码以下内容的正确方法是什么,以便我可以POST它?

{    "data":[
{
"item_price_id":"477ABC8E-510F-4412-8F67-B1E2B9EDDC5E",
"item_name":"כרטיס לסרט בסינמה סיטי למימוש בימי חמישי בלבד",
"benefit_full_price":30,
"benefit_discount_price":9,
"benefit_vip_full_price":0,
"benefit_vip_discount_price":0,
"item_use_credit":1,
"user_level_type":0,
"member_type_name":"",
"item_show_id":"3E3FD8CF-3D28-47D7-BEE3-C08AA8474F95",
"item_hall_id":"null",
"item_hall_name":"null",
"item_show_date":"null",
"item_show_time":"null",
"item_is_limit":0,
"item_limit":0,
"limit":100000000000,
"user_level":0,
"user_limit":0,
"show_limit":100000000000,
"is_user":""
}    ] }

发布时应该是这样的:

data = % 5 b % 7 b % 22 item_price_id % 3 22% % 22477 abc8e - 510 f - 4412 - 8 f67 b1e2b9eddc5e % 22% 2 c % 22 item_name % 22% 3 D7 % 9 b % D7%A8%D7 % % 22% 98% D7 % 99% d7%a1 + % D7 % 9 c % D7%A1%D7%A8%D7 % 98 + % D7 D7%A1%D7 % % 91% 99% d7%a0%d7 % 9 e % D7 D7 % % 94 + % D7%A1%D7 % 99% 98% D7 % 99 + % D7 % 9 c % D7 % 9 e % D7 D7 % 9 e % % 99% D7 % 95% d7%a9 + % D7 D7 % % 91% 99% D7 % 9 e % D7 % 99 + % D7 D7 % 9 e % % 97% D7 d7%a9%d7 % 99 + % % 99% D7 D7 % 9 c % % 91% D7 D7 % % 91% 93% 22% 2 c % 22 benefit_full_price % 22% 3故事本来% 2 c % 22 benefit_discount_price % 22% 3 a9 % 2 c % 22 benefit_vip_full_price % 22% 3 a0 % 2 c % 22 benefit_vip_discount_price % 22% 3 a0 % 2 c % 22 item_use_credit % 22% 3 a1 % 2 c % 22 user_level_type % 22% 3 a0 % 2 c % 22 member_type_name % 3 22% % 22% 2 c % 22 item_show_id % 22% 22% 223 e3fd8cf-3d28-47d7-bee3-c08aa8474f95 % % 22% 2 c % 22 item_hall_id % 22% 3 anull % 2 c % 22 item_hall_name % 22% 3 anull % 2 c % 22 item_show_date % 22% 3 anull % 2 c % 22 item_show_time % 22% 3 anull % 2 c % 22 item_is_limit % 22% 3 a0 % 2 c % 22 item_limit % 22% 3 a0 % 2 c % 22限制% 22% 3 a100000000000 % 2 c % 22 user_level % 22% 3 a0 % 2 c % 22 user_limit % 22% 3 a0 % 2 c % 22 show_limit % 22% 3 a100000000000 % 2 c % 22 is_user % 3 % 22% 22% 22% 7 d % 5 d

我已经尝试使用请求数据=json,json=json.dumps(json),但它好像没有得到编码,见以下输出:

data = item_price_id&数据= item_name&数据= benefit_full_price&数据= benefit_discount_price&数据= benefit_vip_full_price&数据= benefit_vip_discount_price&数据= item_use_credit&数据= user_level_type&数据= item_show_time&数据= item_is_limit&数据= item_limit&数据= limit&数据= user_level&数据= user_limit&数据= show_limit&数据= is_user

json.dumpsurllib.parse.quote合并:

import json
import urllib.parse
data_s = json.dumps(data)
data_s_enc = urllib.parse.quote(data_s)

https://docs.python.org/3/library/urllib.parse.html url-quoting

我终于明白了:

我需要做一点解构,因为请求使用的urllib编码不能很好地处理数组。这让我我正在寻找的结果。

sessionjson_arr = [{
"item_price_id":website_response_json['benefits'][0]['benefits_items'][0]['item_price_id'],
"item_name":website_response_json['benefits'][0]['benefits_items'][0]['item_name'],
"benefit_full_price":website_response_json['benefits'][0]['benefits_items'][0]['benefit_full_price'],
"benefit_discount_price":website_response_json['benefits'][0]['benefits_items'][0]['benefit_discount_price'],
"benefit_vip_full_price":website_response_json['benefits'][0]['benefits_items'][0]['benefit_vip_full_price'],
"benefit_vip_discount_price":website_response_json['benefits'][0]['benefits_items'][0]['benefit_vip_discount_price'],
"item_use_credit":website_response_json['benefits'][0]['benefits_items'][0]['item_use_credit'],
"user_level_type":0,
"item_show_time":website_response_json['benefits'][0]['benefits_items'][0]['item_show_time'],
"item_is_limit":website_response_json['benefits'][0]['benefits_items'][0]['item_is_limit'],
"item_limit":website_response_json['benefits'][0]['benefits_items'][0]['item_limit'],
"limit":100000000000,
"user_level":0,
"user_limit":0,
"show_limit":100000000000,
"is_user":""
}]
dict = {'data':json.dumps(sessionjson_arr)}
requests.post(url,data=dict)

最新更新