链接密钥ID上的Json数据以创建全新的Json文件

2024-10-03 19:23:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Json文件,其中包含stations和prices数组,我希望将其链接,以便所有必需的数据都在一个数组中

{
  "stations": [
    {
      "code": "1",
      "name": "United force"
    },
    {
      "code": "2",
      "name": "Toowoon Bay Service Station"
    }
],

 "prices": [
    {
      "stationcode": "1",
      "fueltype": "DL",
      "price": 126.97
    },
    {
      "stationcode": "1",
      "fueltype": "E10",
      "price": 118.92
    },
    {
      "stationcode": "2",
      "fueltype": "E10",
      "price": 112.90
    },
    {
      "stationcode": "2",
      "fueltype": "P95",
      "price": 125.90
    },
    {
      "stationcode": "2",
      "fueltype": "P98",
      "price": 155.90
    },
    {
      "stationcode": "2",
      "fueltype": "U91",
      "price": 115.20
    }
 ]
}

新Json create Json的预期结果将是

{
  "stations": [
    {
      "code": "1",
      "name": "United force",
      "DL": 126.97,
      "E10": 118.92
    },
    {
      "code": "2",
      "name": "Toowoon Bay Service Station",
      "E10": 112.90,
      "P95": 125.90,
      "P98": 155.90,
      "U91": 115.20
    }
  ]
}

我想做这个转换,而不是在客户端,像可能是powershell或python或dart,我可以运行,所以我有新生成的文件(或时间表),生成的文件将被用作源在我的应用程序(颤振)。因为如果在客户端进行动态转换,那么转换将非常昂贵/耗时

多谢各位


Tags: 文件namejsoncode数组priceunitedprices
1条回答
网友
1楼 · 发布于 2024-10-03 19:23:15

这将以powershell方式转换json:

$data = @"
{
  "stations": [
    {
      "code": "1",
      "name": "United force"
    },
    {
      "code": "2",
      "name": "Toowoon Bay Service Station"
    }
],

 "prices": [
    {
      "stationcode": "1",
      "fueltype": "DL",
      "price": 126.97
    },
    {
      "stationcode": "1",
      "fueltype": "E10",
      "price": 118.92
    },
    {
      "stationcode": "2",
      "fueltype": "E10",
      "price": 112.90
    },
    {
      "stationcode": "2",
      "fueltype": "P95",
      "price": 125.90
    },
    {
      "stationcode": "2",
      "fueltype": "P98",
      "price": 155.90
    },
    {
      "stationcode": "2",
      "fueltype": "U91",
      "price": 115.20
    }
 ]
}
"@ | ConvertFrom-Json

foreach ($price in $data.prices) {
    $data.stations | 
    Where-Object { $_.code -eq $price.stationcode } |
    Add-Member -MemberType NoteProperty -Name $price.fueltype -Value $price.price
}

$data | Select-Object -Property stations | ConvertTo-Json

相关问题 更多 >