【问题标题】:How to convert JSON Object to Python List如何将 JSON 对象转换为 Python 列表
【发布时间】:2017-05-25 19:21:05
【问题描述】:

我有这个 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 字符不显示?

【问题讨论】:

  • 你想要什么输出? json 是产品列表。对于每个产品,都有一个属性字典。例如,第一产品具有等于100的属性“product_cp”、等于120的属性“product_sp”和等于“coke”的“product_name”。现在,您正在输出这些字典的列表。
  • please how i do i make it so that a 'u' characters doesn't show up? 'u' 字符代表'unicode',它只是表示字符串是用unicode而不是ASCII编码的
  • 我希望它是这样的:['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'] @Jeremy

标签: python json


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    在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')]
    

    【讨论】:

      猜你喜欢
      • 2020-08-21
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多