[英]Concat two json objects in java
I want to concat multiple json object. 我想连接多个json对象。
I have two json like this 我有两个像这样的json
{"message":"test","status":"0"}
and this 还有这个
{"message":"test-2","status":"1"}
result must be 结果必须是
[{"message":"test","status":"0"},{"message":"test-2","status":"1"}]
How can I do this in Java ? 我怎么能用Java做到这一点?
You can easily use JSONObject.toString()
and concatenate the strings easily eg 您可以轻松地使用JSONObject.toString()
并轻松地连接字符串,例如
String x = "[" + obj1.toString() "," + obj2.toString() + "]";
or 要么
StringBuilder newStr = new StringBuilder() ;
newStr.append("[").append(obj1.toString()).append(",").append(obj2.toString());
Do something like this: 做这样的事情:
List<String> array = new ArrayList<String>();
array.add("{\"message\":\"test\",\"status\":\"0\"}");
array.add("{\"message\":\"test-2\",\"status\":\"1\"}");
array.toString();
If you want to user support for JSON object in Java, consider using Gson: 如果您想在Java中使用对JSON对象的支持,请考虑使用Gson:
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class Main {
public static void main(String[] args) {
JsonObject json1 = (JsonObject) new JsonParser().parse("{\"message\":\"test\",\"status\":\"0\"}");
JsonObject json2 = (JsonObject) new JsonParser().parse("{\"message\":\"test-2\",\"status\":\"1\"}");
JsonArray array = new JsonArray();
array.add(json1);
array.add(json2);
System.out.println(array.toString());
}
}
This would give you what you want this time using objects. 这次会给你你想要的对象。
private static void concatJSON() throws IOException, InterruptedException {
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader(new File(Main.class.getResource("/file/user.json").toURI())));
JSONObject jsonObj = (JSONObject) obj; //usernameJsonObj
String [] values = {"0.9" , Date.from(Calendar.getInstance().toInstant()).toLocaleString()},
innermost = {"Accomplished", "LatestDate"},
inner = {"Lesson1", "Lesson2", "Lesson3", "Lesson4"};
String in = "Jayvee Villa";
JSONObject jo1 = new JSONObject();
for (int i = 0; i < innermost.length; i++)
jo1.put(innermost[i], values[i]);
JSONObject jo2 = new JSONObject();
for (int i = 0; i < inner.length; i++)
jo2.put(inner[i], jo1);
JSONObject jo3 = new JSONObject();
jo3.put(in, jo2);
String merger = jsonObj.toString().substring(0, jsonObj.toString().length()-1) + "," +jo3.toString().substring(1);
System.out.println(merger);
FileWriter pr = new FileWriter(file);
pr.write(merger);
pr.flush();
pr.close();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.