我有兩個檔案,它們非常大,所以我將提供一段相關資料:
從檔案:
[
{
"id": 7212486534162308,
"rowNumber": 283,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "Dd Kk",
"linkInFromCell": {
"status": "OK",
"sheetId": 4409864198875012,
"rowId": 5483738575202180,
"columnId": 6482434207311748,
"sheetName": "INFORMATION - J-1000579"
},
"value": "Dd Kk"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "Dd Kk link",
"hyperlink": {
"url": "https://app.test.com/fvffvs/dfesfrfr"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 6836472364722052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Dd Kk"
}
]
},
{
"id": 7046413570598788,
"rowNumber": 284,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "Macquarie Education Programs",
"linkInFromCell": {
"status": "OK",
"sheetId": 8275059887368068,
"rowId": 8307181892986756,
"columnId": 687741640959876,
"sheetName": "INFORMATION - J-1000532.01"
},
"value": "Macquarie Education Programs"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "Macquarie Education Programs Building - J-10005",
"hyperlink": {
"url": "https://app.test.com/jnjnnlkm/fvfbsfbfgvdsfe"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 4795289157298052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Macquarie Education Programs - J-10005"
}
]
}
]
to_file:
[
{
"id": 977325251291012,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"value": ""
},
{
"columnId": 5460306864433028,
"value": "Dd Kk",
"displayValue": "Dd Kk"
}
]
},
{
"id": 5480924878661508,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300
},
{
"columnId": 5460306864433028,
"value": "Macquarie Education Programs",
"displayValue": "Macquarie Education Programs"
}
]
}
]
在 to_file 中,在每個包含“columnId”的物件內:5206337428711300 我需要從 from_file “columnId”中添加所有鍵值對(“Column”和“columnId”除外):5822630258337668 包含物件,其中該單元格陣列的“ columnId": 7408953102493572 包含物件的 "displayValue" 值與 to_file 的 "columnId": 5460306864433028 包含物件 "displayValue" 值相同。
期望的結果如下:
[
{
"id": 977325251291012,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"displayValue": "Dd Kk link",
"hyperlink": {
"url": "https://app.test.com/fvffvs/dfesfrfr"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 6836472364722052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Dd Kk"
},
{
"columnId": 5460306864433028,
"value": "Dd Kk",
"displayValue": "Dd Kk"
}
]
},
{
"id": 5480924878661508,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"displayValue": "Macquarie Education Programs Building - J-10005",
"hyperlink": {
"url": "https://app.test.com/jnjnnlkm/fvfbsfbfgvdsfe"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 4795289157298052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Macquarie Education Programs - J-10005"
},
{
"columnId": 5460306864433028,
"value": "Macquarie Education Programs",
"displayValue": "Macquarie Education Programs"
}
]
}
]
謝謝
@PMF 下面的答案有效,但如果 to_file 中有一個專案在 from 檔案中找不到,則會失敗。
這個作品 演示
[
{
"id": 7660296628791172,
"rowNumber": 484,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "CSNSW",
"linkInFromCell": {
"status": "OK",
"sheetId": 3495076589528964,
"rowId": 4453675823982468,
"columnId": 6210919910926212,
"sheetName": "INFORMATION - J-1000739.01"
},
"value": "CSNSW"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "CSNSW - J-1000739.01",
"hyperlink": {
"url": "https://app.test.com/beffvfdcwe/ergrsvsrfv"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 3495076589528964,
"rowId": 4655985963493252,
"columnId": 6210919910926212,
"sheetName": "INFORMATION - J-1000739.01"
},
"value": "CSNSW - J-1000739.01"
}
]
},
{
"id": 7212486534162308,
"rowNumber": 283,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "Dd Kk",
"linkInFromCell": {
"status": "OK",
"sheetId": 4409864198875012,
"rowId": 5483738575202180,
"columnId": 6482434207311748,
"sheetName": "INFORMATION - J-1000579"
},
"value": "Dd Kk"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "Dd Kk link",
"hyperlink": {
"url": "https://app.test.com/fvffvs/dfesfrfr"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 6836472364722052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Dd Kk"
}
]
},
{
"id": 7046413570598788,
"rowNumber": 284,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "Macquarie Education Programs",
"linkInFromCell": {
"status": "OK",
"sheetId": 8275059887368068,
"rowId": 8307181892986756,
"columnId": 687741640959876,
"sheetName": "INFORMATION - J-1000532.01"
},
"value": "Macquarie Education Programs"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "Macquarie Education Programs Building - J-10005",
"hyperlink": {
"url": "https://app.test.com/jnjnnlkm/fvfbsfbfgvdsfe"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 4795289157298052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Macquarie Education Programs - J-10005"
}
]
}
]
[
{
"id": 977325251291012,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"value": ""
},
{
"columnId": 5460306864433028,
"value": "Dd Kk",
"displayValue": "Dd Kk"
}
]
},
{
"id": 5480924878661508,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300
},
{
"columnId": 5460306864433028,
"value": "Macquarie Education Programs",
"displayValue": "Macquarie Education Programs"
}
]
}
]
這不起作用 演示
[
{
"id": 7660296628791172,
"rowNumber": 484,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "CSNSW",
"linkInFromCell": {
"status": "OK",
"sheetId": 3495076589528964,
"rowId": 4453675823982468,
"columnId": 6210919910926212,
"sheetName": "INFORMATION - J-1000739.01"
},
"value": "CSNSW"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "CSNSW - J-1000739.01",
"hyperlink": {
"url": "https://app.test.com/beffvfdcwe/ergrsvsrfv"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 3495076589528964,
"rowId": 4655985963493252,
"columnId": 6210919910926212,
"sheetName": "INFORMATION - J-1000739.01"
},
"value": "CSNSW - J-1000739.01"
}
]
},
{
"id": 7212486534162308,
"rowNumber": 283,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "Dd Kk",
"linkInFromCell": {
"status": "OK",
"sheetId": 4409864198875012,
"rowId": 5483738575202180,
"columnId": 6482434207311748,
"sheetName": "INFORMATION - J-1000579"
},
"value": "Dd Kk"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "Dd Kk link",
"hyperlink": {
"url": "https://app.test.com/fvffvs/dfesfrfr"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 6836472364722052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Dd Kk"
}
]
},
{
"id": 7046413570598788,
"rowNumber": 284,
"cells": [
{
"Column": "SS name",
"columnId": 7408953102493572,
"displayValue": "Macquarie Education Programs",
"linkInFromCell": {
"status": "OK",
"sheetId": 8275059887368068,
"rowId": 8307181892986756,
"columnId": 687741640959876,
"sheetName": "INFORMATION - J-1000532.01"
},
"value": "Macquarie Education Programs"
},
{
"Column": "link",
"columnId": 5822630258337668,
"displayValue": "Macquarie Education Programs Building - J-10005",
"hyperlink": {
"url": "https://app.test.com/jnjnnlkm/fvfbsfbfgvdsfe"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 4795289157298052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Macquarie Education Programs - J-10005"
}
]
}
]
[
{
"id": 977325251291012,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"value": ""
},
{
"columnId": 5460306864433028,
"value": "Dd Kk",
"displayValue": "Dd Kk"
}
]
},
{
"id": 5480924878661508,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300
},
{
"columnId": 5460306864433028,
"value": "Macquarie Education Programs",
"displayValue": "Macquarie Education Programs"
}
]
},
{
"id": 7276986526263172,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300
},
{
"columnId": 5460306864433028,
"value": "Dubbo",
"displayValue": "Dubbo"
}
]
}
]
謝謝!!
uj5u.com熱心網友回復:
您可以INDEX在匹配的基礎上構建一個displayValue,然后通過使用 in中的相應物件JOIN更新 =正確的物件來構建陣列:to.jsonfrom.json
已修復:try在連接更新中使用可防止匹配未完成時失敗。
jq '
[
JOIN(
INDEX(.[].cells; .[] | select(.columnId == 7408953102493572).displayValue);
input[];
.cells[] | select(.columnId == 5460306864433028).displayValue;
(.[0].cells[] | select(.columnId == 5206337428711300)) = try
(.[1][] | select(.columnId == 5822630258337668) | del(.Column, .columnId))
)[0]
]
' from.json to.json
[
{
"id": 977325251291012,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"value": "Dd Kk",
"displayValue": "Dd Kk link",
"hyperlink": {
"url": "https://app.test.com/fvffvs/dfesfrfr"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 6836472364722052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
}
},
{
"columnId": 5460306864433028,
"value": "Dd Kk",
"displayValue": "Dd Kk"
}
]
},
{
"id": 5480924878661508,
"cells": [
{
"columnId": 2040705442965380,
"value": true
},
{
"columnId": 5206337428711300,
"displayValue": "Macquarie Education Programs Building - J-10005",
"hyperlink": {
"url": "https://app.test.com/jnjnnlkm/fvfbsfbfgvdsfe"
},
"linkInFromCell": {
"status": "OK",
"sheetId": 316850291664772,
"rowId": 4795289157298052,
"columnId": 6189414452881284,
"sheetName": "PROJECT INTAKE SHEET"
},
"value": "Macquarie Education Programs - J-10005"
},
{
"columnId": 5460306864433028,
"value": "Macquarie Education Programs",
"displayValue": "Macquarie Education Programs"
}
]
}
]
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453643.html
下一篇:動態更改陣列中的資料
