[英]Combining JSONObject from multiple JSONArray into single JSONArray in Java
正在擁有3個JSONArray,如下所示。
RegionArray:
[
{
"catalog_product_id":620,
"region_id":"en_US"
},
{
"catalog_product_id":40078,
"region_id":"en_US"
},
{
"catalog_product_id":1048,
"region_id":"en_US"
}
]
CountryArray:
[
{
"catalog_product_id":620,
"country_id":"DE"
},
{
"catalog_product_id":40078,
"country_id":"DE"
}
]
CompanyArray:
[
{
"company_id":706,
"catalog_product_id":40078
},
{
"company_id":706,
"catalog_product_id":1048
}
}
]
這3個不同的JSONArray正在合並為單個JSONArray,並得到如下結果。 我通過將所有JSONObjects添加到單個公共數組中來制作此數組。 JSONArray.put(regionJSONObj);JSONArray.put(countryJSONObj);JSONArray.put(companyJSONObj);
[
{
"catalog_product_id":620,
"region_id":"en_US"
},
{
"catalog_product_id":40078,
"region_id":"en_US"
},
{
"catalog_product_id":1048,
"region_id":"en_US"
},
{
"catalog_product_id":620,
"country_id":"DE"
},
{
"catalog_product_id":40078,
"country_id":"DE"
},
{
"company_id":706,
"catalog_product_id":40078
},
{
"company_id":706,
"catalog_product_id":1048
}
]
來自所有3個源JSONArray的catalog_product_id
鍵在所有3個JSONArray中都相同。因此,我想像以下格式構建目標JSONArray。
[
{
"catalog_product_id":620,
"region_id":"en_US",
"country_id":"DE",
},
{
"catalog_product_id":40078,
"region_id":"en_US",
"country_id":"DE",
"company_id":706,
},
{
"catalog_product_id":1048,
"region_id":"en_US",
"company_id":706
}
]
3個JSONArray RegionArray
, CountryArray
和CompanyArray
具有公用密鑰catalog_product_id
。 所以我想將catalog_product_id
與所有3個JSONArray匹配,並獲取region
, country
和company
信息,並為該特定catalog_product_id
構建單個對象。
Map<String, JArray> map =
jArrayLis.stream().collect(Collectors.toMap(JArray::getCatalog_product_id,
Function.identity()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.