【发布时间】:2018-07-02 12:34:03
【问题描述】:
我正在尝试将 json 数据放入可能包含许多重复键的 HashMap 中。 例如:
{
"member Detial": {
"firstname": "jhon",
"lastName": "wick",
"Address": "New York",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"Password": "newyorkcitizen",
"confirm password": "newyorkcitizen",
"NationalProviderIdentifier": "Apollo",
"PartyID": "1"
},
"Physician": {
"firstname": "jhon",
"lastName": "wick",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"NationalProviderIdentifier": "Apollo",
"PartyID": "1"
},
"PhysicianGroup": {
"Address": "New York",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"NationalProviderIdentifier": "Apollo",
"Hospital name": "Apollo",
"Tax ID": "12345",
"PartyID": "1"
},
"Physician": {
"Address": "New York",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"NationalProviderIdentifier": "Apollo",
"Hospital name": "Apollo",
"Tax ID": "12345",
"PartyID": "1"
},
}
在上面的json文件中,“成员详细信息”被认为是键,括号内的数据被认为是值。但这里的问题是上面的 json 示例中可能存在重复的键,例如“Physician”。
我想将第二个“医生”的值添加到第一个“医生”而不覆盖其值并删除重复的键。 例如:`
{
"member Detial": {
"firstname": "jhon",
"lastName": "wick",
"Address": "New York",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"Password": "newyorkcitizen",
"confirm password": "newyorkcitizen",
"NationalProviderIdentifier": "Apollo",
"PartyID": "1"
},
"Physician": [{
"firstname": "jhon",
"lastName": "wick",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"NationalProviderIdentifier": "Apollo",
"PartyID": "1"
},
{
"Address": "New York",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"NationalProviderIdentifier": "Apollo",
"Hospital name": "Apollo",
"Tax ID": "12345",
"PartyID": "1"
}
],
"PhycianGroup": {
"Address": "New York",
"Email": "jhonwick@boogiman.com",
"Fax Number": "09876543",
"Contact Number": "9876543210",
"NationalProviderIdentifier": "Apollo",
"Hospital name": "Apollo",
"Tax ID": "12345",
"PartyID": "1"
}
}
`
【问题讨论】:
-
你试过了吗?如果是,您的问题是什么?
-
首先检查
map是否已经包含该密钥 -
1.检查密钥是否存在; 2.如果是,获取值并进行处理; 3.如果没有,添加新值。
-
非常感谢我的answer 中的反馈。