web-dev-qa-db-ja.com

PythonでJSONオブジェクトを作成する方法

こんにちは、次の形式でJSONオブジェクトを作成する必要があります。対処方法

{"user2_proximity": 3, "Wifi_1": -80, "Wifi_2": -40, "Wifi_3": -40, 
"thermostat": 18, "light": 0, "hour_of_day": 0, "user3_proximity": 3, 
"user1_proximity": 1, "day_of_week": 1, "security": 0, "minute_of_hour": 9, 
"Act_1": 1, "Act_2": 0, "Act_3": 0}
9
Anagha

ソース: https://docs.python.org/2/library/json.html

import json
data = {"user2_proximity": 3, "Wifi_1": -80, "Wifi_2": -40, "Wifi_3": -40, 
"thermostat": 18, "light": 0, "hour_of_day": 0, "user3_proximity": 3, 
"user1_proximity": 1, "day_of_week": 1, "security": 0, "minute_of_hour": 9, 
"Act_1": 1, "Act_2": 0, "Act_3": 0}

json_data = json.dumps(data)
21

responseは、キー/列の値(「test_id」、「querytext」、「metrics」)を持つ2次元配列です。

[0]['testid1','query1','"metrics": { "ndcg@3": "1.0", "ndcg@7": "0.9" }'] [1]['testid2','query2','"metrics": { "ndcg@3": "1.0", "ndcg@7": "0.9" }']

column_names=("test_id","querytext","metrics")
    json_response={}
    for entry in response:
        if entry[0] not in json_response:
            json_response[entry[0]]=[]
        json_element={}
        json_element[column_names[1]]=entry[1]
        json_element[column_names[2]]=json.loads(entry[2])
        json_response[entry[0]].append(json_element)
    return json.dumps(json_response)

json_responseは次の形式になります

{ "tesid1": [{ "querytext": "query1", "metrics": { "ndcg@3": "1.0", "ndcg@7": "0.9" } }], "testid2": [{ "querytext": "query2", "metrics": { "ndcg@3": "1.0", "ndcg@7": "0.9" } }] }

0
Binoy S Kumar