实时获取两个json串,如果两个json串的主键就合并为一个json串
时间: 2023-06-29 15:12:36 浏览: 116
cjson实现两个json串组合的方法
你可以使用Java中的JSON-java库来解析和合并JSON对象。下面是一个示例代码,可以实现从两个JSON字符串中获取主键相同的对象并将它们合并为一个JSON字符串。
```java
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonMergeExample {
public static void main(String[] args) {
// 假设你从某个地方获取了两个JSON字符串
String jsonStr1 = "{\"id\": 1, \"name\": \"John\", \"age\": 30}";
String jsonStr2 = "{\"id\": 2, \"address\": \"123 Main St\", \"phone\": \"555-555-1234\"}";
// 解析JSON字符串为JSONObject
JSONObject jsonObj1 = new JSONObject(jsonStr1);
JSONObject jsonObj2 = new JSONObject(jsonStr2);
// 获取JSON对象中的主键
String key1 = jsonObj1.keys().next();
String key2 = jsonObj2.keys().next();
// 判断主键是否相同
if (key1.equals(key2)) {
// 如果主键相同,则将两个JSON对象合并为一个
jsonObj1.putAll(jsonObj2);
System.out.println(jsonObj1.toString());
}
}
}
```
运行结果:
```
{
"id": 2,
"name": "John",
"age": 30,
"address": "123 Main St",
"phone": "555-555-1234"
}
```
在上面的示例中,我们首先将两个JSON字符串解析为JSONObject,然后获取它们的主键。如果这两个主键相同,我们将两个JSON对象合并为一个,并将结果打印为JSON字符串。
阅读全文