I need to create a json where it takes data from variables and adds a list of object in between.
market_feed_data = scripts_df.to_list(orient="records")
no_of_records = len(scripts_df)
PAYLOAD = {
"head": {
"appName": APP_NAME,
"appVer": "1.0",
"key": USER_KEY,
"osName": "Android",
"requestCode": "IIFLMarRQMarketFeed",
"userId": USER_ID,
"password": PASSWORD,
},
"body": {
"ClientCode": clientcode,
"Count": no_of_records,
"MarketFeedData": market_feed_data,
"ClientLoginType": clientcode,
"LastRequestTime": int(datetime.today().timestamp()),
"RefreshRate": "H",
},
}
with above code I am able to get the json but it is adding single quotes as part of it which is making it invalid.
{'head': {'appName': 'IIFLMarSHIVANI', 'appVer': '1.0', 'key': 'N4y8B6yUcRFmPax6YrRH23wyBluqqkRY', 'osName': 'Android', 'requestCode': 'IIFLMarRQMarketFeed', 'userId': 'HYBbO7HytRE', 'password': 'G1ZqLfzAjR0'}, 'body': {'ClientCode': '92978674', 'Count': 3, 'MarketFeedData': '[{"Exch":"N","ExchType":"D","ScripCode":53699},{"Exch":"N","ExchType":"D","ScripCode":53697},{"Exch":"N","ExchType":"D","ScripCode":53697}]', 'ClientLoginType': '92978674', 'LastRequestTime': 1716294276, 'RefreshRate': 'H'}}
after this I tried creating the json using json module but could not add list arrays.
d = [53699, 53697, 53697]
no_of_records = len(d)
json_data = {}
json_data["head"] = {}
json_data["head"]["appName"] = APP_NAME
json_data["head"]["appVer"]="1.0"
json_data["head"]["key"]=USER_KEY
json_data["head"]["osName"]="Android"
json_data["head"]["requestCode"]="IIFLMarRQMarketFeed"
json_data["head"]["userId"]=USER_ID
json_data["head"]["password"]=PASSWORD
json_data["body"]={}
json_data["body"]["ClientCode"]=clientcode
json_data["body"]["Count"]=no_of_records
json_data["body"]["MarketFeedData"]=[]
json_data["body"]["ClientLoginType"]=clientcode
json_data["body"]["LastRequestTime"]=int(datetime.today().timestamp())
json_data["body"]["RefreshRate"]="H"
# json_data = json.dumps(json_data)
for i in d:
json_data["body"]["MarketFeedData"]["Exch"]="N"
json_data["body"]["MarketFeedData"]["ExchType"] = "D"
json_data["body"]["MarketFeedData"]["ScripCode"] = "D"
json_data = json.dumps(json_data)
print(json_data)