【问题标题】:Python & Json: Multiline input data into JsonPython & Json:多行输入数据到 Json
【发布时间】:2018-06-26 10:51:59
【问题描述】:

我的 python 代码有一个问题,需要创建多行 JSON 类型的数据。

def get_json_data(response):
 x ={}
 f ={}
 for report in response.get('reports', []):
    columnHeader = report.get('columnHeader', {})
    dimensionHeaders = columnHeader.get('dimensions', [])
    metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', [])
    for row in report.get('data', {}).get('rows', []):
        dimensions = row.get('dimensions', [])
        dateRangeValues = row.get('metrics', [])

        for header, dimension in zip(dimensionHeaders, dimensions):
            x[header.replace('la:','')] = dimension

            for i, values in enumerate(dateRangeValues):
                for metricHeader, value in zip(metricHeaders, values.get('values')):
                    x[metricHeader.get('name').replace('la:','')] = value

        f['dashboard'] = x
        print (json.dumps(f))
 print (json.dumps(f))

目前正在显示这些数据

{
  "dashboard": 
      {"bounces": "12", "userType": "Returning Visitor", "users": "3"}
}

但我想要的输出是显示这种数据

{
 "dashboard": 
     {"bounces": "10", "userType": "New Visitor", "users": "15"},
     {"bounces": "12", "userType": "Returning Visitor", "users": "3"}
}

【问题讨论】:

    标签: python json python-3.x


    【解决方案1】:

    您的输出数据示例不是有效的 json,但是这可以解决它:

    def get_json_data(response):
     x ={}
     f ={'dashboad' : []}
     ...
            f['dashboard'].append(x)
            print (json.dumps(f))
     print (json.dumps(f))
    

    仪表板值应该是一个列表,以便您可以附加不同的x 结果

    【讨论】:

    • 谢谢哥们。你是伟大的。感谢您帮助解决我的问题
    【解决方案2】:

    你的格式应该是这样的

    df1 = {
        "dashboard":
            [{"bounces": "10", "userType": "New Visitor", "users": "15"},
             {"bounces": "12", "userType": "Returning Visitor", "users": "3"}]
    }
    

    否则会报错

    【讨论】:

    • 感谢有关结构错误的帮助。但这不是答案
    • 是的,我知道。 netwave 已经给出了答案。我不想发布同样的东西
    【解决方案3】:

    您不能构建这种结构,因为 python 不允许这样做。 只需在终端中输入此内容,您就会了解结构错误

    {
     "dashboard": 
         {"bounces": "10", "userType": "New Visitor", "users": "15"},
         {"bounces": "12", "userType": "Returning Visitor", "users": "3"}
    }
    

    【讨论】:

    • 哦,谢谢强调 json 代码的结构错误,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多