如何将JSON对象转换为Python列表

时间:2017-05-25 19:21:06

标签: python json

我有这个json对象,我想把它变成一个python列表,但我得到一些字符,我不需要

import json

data = {
  "products": [
    {
      "product_cp": 100.0,  
      "product_sp": 120.0, 
      "product_name": "coke", 
    }, 
    {
      "product_cp": 100.5, 
      "product_sp": 120.0, 
      "product_name": "fanta", 
    }, 
    {
      "product_cp": 70.5,  
      "product_sp": 100.5, 
      "product_name": "pepsi", 
    }
  ]
}
data = json.dumps(data)
print(data)
print('\v')
data = json.loads(data)
data_list = list(data['products'])

当我这样做时:

    print(data_list)

我得到:

[{u'product_cp': 100.0, u'product_sp': 120.0, u'product_name': u'coke'},{u'product_cp': 100.5, u'product_sp': 120.0, u'product_name': u'fanta'}, {u'product_cp': 70.5, u'product_sp': 100.5, u'product_name': u'pepsi'}]

请问我怎么做才能{,[,},]'u字符不显示?

2 个答案:

答案 0 :(得分:0)

要打印单个产品详细信息而没有语法开销({,[,],}),您可以使用嵌套循环:

for product in data["products"]:
    for info in product:
        print("%s: %s" % (info, product[info]))
    print()

输出结果为:

product_cp: 100.0
product_sp: 120.0
product_name: coke

product_cp: 100.5
product_sp: 120.0
product_name: fanta

product_cp: 70.5
product_sp: 100.5
product_name: pepsi

答案 1 :(得分:0)

在python 3.6下尝试这个代码,我也是一个python新手。

jsonobject = json.dumps(data)
jsonobjectToString = json.loads(jsonobject)
for level1 in jsonobjectToString["products"]:
     str = level1["product_cp"],level1["product_sp"],level1["product_name"]
     resultresp.append(str)
print(resultresp)
===================
[(100.0, 120.0, 'coke'), (100.5, 120.0, 'fanta'), (70.5, 100.5, 'pepsi')]