I have a string buffer (Payload) as follows :
"SQN":922,"Node_ID":"cc000000000000000000000000000002","Energy":"5.00","Power":"1.80","Sign":"6d226becaf5a5b..."
And now I want to customize it as follows :
String part_1 = "{9 spaces}922{3 spaces}5.00{3 spaces}1.80"
String part_2 = "6d226becaf5a5b..."
What is the best solution to do this ?
I tried this one as user Martin P proposed :
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.json.JSONArray.*;
import org.json.JSONException;
import org.json.JSONObject.*;
import org.json.JSONString;
String input = "{\"SQN\":922,\"Node_ID\":\"cc000000000000000000000000000002\",\"Energy\":\"5.00\",\"Power\":\"1.80\",\"Sign\":\"6d226becaf5a5b...\"}";
JSONParser obj = ((Object) new JSONParser().parse(input)).getAsJsonObject();
String sqnString = jsonObjectToString(obj, "SQN");
String energyString = jsonObjectToString(obj, "Energy");
String powerString = jsonObjectToString(obj, "Power");
String signString = jsonObjectToString(obj, "Sign");
StringBuilder sb = new StringBuilder();
sb.append("{whatever we need}").append(sqnString).append("{whatever we need}").append(energyString).append("{whatever we need}").append(powerString);
String part_1 = sb.toString();
String part_2 = signString;
System.out.println(part_1);
System.out.println(part_2);
However, getAsJsonObject()
and jsonObjectToString(obj, "SQN")
are undefined.