在Python中添加到JSON并转换为对象

在Python中添加到JSON并转换为对象,python,json,Python,Json,我有一个JSON数组,如下所示 [ "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX", "35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA" ] 我想以字符串(self.tx\u amount\u 5)的形式添加一个值,因此我得到一个类似以下内容的JSON对象: { "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX" : 100000 "35xfg4UnpEJeHDo55HNwJbr1V3G1d

我有一个JSON数组,如下所示

[
    "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX", 
    "35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA"
]
我想以字符串(self.tx\u amount\u 5)的形式添加一个值,因此我得到一个类似以下内容的JSON对象:

{
    "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX" : 100000
    "35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA" : 100000
}
import json

s="""[
      "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX", 
      "35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA"
]"""

d = {el: self.tx_amount_5 for el in json.loads(s)}
print(d)
生成第一个JSON数组的代码部分是:

r = requests.get('http://api.blockcypher.com/v1/btc/main/addrs/A/balance')
    balance = r.json()['balance']

    with open("Entries#x1.csv") as f,open("winningnumbers.csv") as nums:
        nums = set(imap(str.rstrip, nums))
        r = csv.reader(f)
        results = defaultdict(list)
        for row in r:
            results[sum(n in nums for n in islice(row, 1, None))].append(row[0])

    self.number_matched_0 = results[0]
    self.number_matched_1 = results[1]
    self.number_matched_2 = results[2]
    self.number_matched_3 = results[3]
    self.number_matched_4 = results[4]
    self.number_matched_5 = results[5]

    self.number_matched_5_json = json.dumps(self.number_matched_5, sort_keys = True, indent = 4)

    print(self.number_matched_5_json)

    if len(self.number_matched_3) == 0:
        print('Nobody matched 3 numbers')
    else:
        self.tx_amount_3 = int((balance*0.001)/ len(self.number_matched_3))

    if len(self.number_matched_4) == 0:
        print('Nobody matched 4 numbers')
    else:
        self.tx_amount_4 = int((balance*0.1)/ len(self.number_matched_4))

    if len(self.number_matched_5) == 0:
        print('Nobody matched 3 numbers')
    else:
        self.tx_amount_5 = int((balance*0.4)/ len(self.number_matched_5))

如果我理解正确,您可以这样创建字典:

{
    "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX" : 100000
    "35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA" : 100000
}
import json

s="""[
      "3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX", 
      "35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA"
]"""

d = {el: self.tx_amount_5 for el in json.loads(s)}
print(d)
产生

{'3D3iAR9M4HDETajfD79gs9BM8qhMSq5izX': 100000,
 '35xfg4UnpEJeHDo55HNwJbr1V3G1ddCuVA': 100000}

你能说明问题是什么吗?我基本上想把第一个JSON数组转换成第二个JSON对象。请注意,创建一个JSON,然后再次解析它,这太过分了。如果可以修改代码,请在json旁边创建字典。顺便说一句,代码在5个数字的错误消息中有剪切粘贴错误