如何在一个字符串中分离2个浓缩JSONObject?Java语言(Android)
是的,作为问题标题。我在android中收到了一个由2个JSONObject组成的字符串。如何在一个字符串中分离2个浓缩JSONObject?Java语言(Android),java,php,android,Java,Php,Android,是的,作为问题标题。我在android中收到了一个由2个JSONObject组成的字符串。我必须在PHP中执行2个不同的过程,但两个结果都在单个字符串结果中返回(echo),我不知道如何将其分离。我使用: JSONObject json = new JSONObject(result); String success = json.optString("success"); // "success" here shows empty in logcat. I think it doesn't g
我必须在PHP中执行2个不同的过程,但两个结果都在单个字符串结果中返回(echo),我不知道如何将其分离。
我使用:
JSONObject json = new JSONObject(result);
String success = json.optString("success");
// "success" here shows empty in logcat. I think it doesn't get the second json object
结果字符串的示例:
{"username":"xx","activated":"0"}{"multicast_id":xxx,"success":0,"failure":0,"canonical_ids":0,"results":[{"message_id":"xxx"}]}
我该怎么办?
(顺便说一句,第二个字符串是Firebase Cloud Messaging结果示例。
编辑:我正在使用PHP发送FCM,这就是为什么即使我没有(PHP::echo)它,结果也会被迫与我的其他字符串结果一起返回的原因。使用
string.split()
和适当的regex
以下是工作代码:
String response = "{\"username\":\"xx\",\"activated\":\"0\"}{\"multicast_id\":xxx,\"success\":0,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"xxx\"}]}";
String[] separated = response.split("\\}\\{");
String str1 = separated[0] + "}";
String str2 = "{" + separated[1];
Log.d("STRING", "String1: " + str1 + "\nString2: " + str2);
D/STRING: String1: {"username":"xx","activated":"0"}
String2: {"multicast_id":xxx,"success":0,"failure":0,"canonical_ids":0,"results":[{"message_id":"xxx"}]}
输出:
String response = "{\"username\":\"xx\",\"activated\":\"0\"}{\"multicast_id\":xxx,\"success\":0,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"xxx\"}]}";
String[] separated = response.split("\\}\\{");
String str1 = separated[0] + "}";
String str2 = "{" + separated[1];
Log.d("STRING", "String1: " + str1 + "\nString2: " + str2);
D/STRING: String1: {"username":"xx","activated":"0"}
String2: {"multicast_id":xxx,"success":0,"failure":0,"canonical_ids":0,"results":[{"message_id":"xxx"}]}
希望这将有助于~使用String.split()
和适当的regex
和
用这个来揭示regexp的奥秘您需要在PHP中正确地组合和编码它们。