我需要能夠將數據庫中的sql調用解析爲json,然後將解析的JSON字符串中的關鍵字段與json文件(技術上它是BOD --Business Object Document)進行比較,如果它們匹配,那麼我需要用JSON字符串的值覆蓋json文件的匹配值。無論如何覆蓋在Java中的JSON文件的部分?
例如我分析SQL調用此
{
"partyInfo": {
"PARTY_NAME": "NORWAY",
"STATE": "OSLO",
"PARTY_ID": "92706031",
"VERTICAL_MARKET_TOP_DESC": null,
"ATTRIBUTE20": null,
"DUNS_NUMBER": null,
"SIC_CODE": null,
"EMPLOYEES_TOTAL": null,
"ALL_ADDRESS_LINES": "HOMMENKOLLEN 23 TOPPEN 12",
"CITY": "OSLO",
"POSTAL_CODE": "1255",
"COUNTRY_NAME": "NORWAY",
"KNOWN_AS": null
}
}
,然後與之比較的,看起來像這樣的文件:
{
"partyInfo": {
"PARTY_NAME": string,
"STATE": string,
"PARTY_ID": number,
"SIC_CODE": string,
}
}
和匹配鍵ST改寫值結尾文件如下所示:
{
"partyInfo": {
"PARTY_NAME": "NORWAY",
"STATE": "OSLO",
"PARTY_ID": "92706031",
"SIC_CODE": null,
}
}
到目前爲止,我已經能夠解析SQL調用JSON(現在使用Jackson,但我願意改變,如果需要的話),但我不知道如何與文件進行比較,只覆蓋匹配的數據值。
我想你想的BOD文件解碼爲對象,通過對象的屬性迭代,比較它們對DB結果與相同的密鑰和覆蓋值BOD,然後將BOD編碼回JSON以保存它。我沒有看到任何理由實際上將數據庫結果編碼爲JSON,除非由於某些原因需要將這些數據保存在JSON中。 –