qq_24954781
2019-09-11 17:06
采纳率: 100%
浏览 267
已采纳

请教java字符串截取的问题

服务器返回的消息
第一种:
{"status":"1","function":"__VoicePrompt"}{"status":"0","function":"__StopNavigation"}

{"status":"23","function":"__VoicePrompt"}{"status":"0","function":"__StopNavigation"}

第二种:顺序会变
{"status":"0","function":"__StopNavigation"}{"status":"44","function":"__VoicePrompt"}

{"status":"0","function":"__StopNavigation"}{"status":"5","function":"__VoicePrompt"}

我想要的是,把包含__StopNavigation的大括号中的内容去掉,

只保留包含了__VoicePrompt的大括号中的内容--->{"status":"1","function":"__VoicePrompt"}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 发光的树 2019-09-11 17:18
    已采纳

    public static void main(String[] args) {
    String str = "{\"status\":\"1\",\"function\":\"__VoicePrompt\"}{\"status\":\"0\",\"function\":\"__StopNavigation\"}";
    JSONArray arr = JSONArray.fromObject("["+str.replaceAll("}","},")+"]");
    for(int i=0;i<arr.size();i++){
    JSONObject temp = arr.getJSONObject(i);
    if(temp.containsValue("__StopNavigation")){
    arr.remove(temp);
    }
    }
    System.out.println(arr.toString().replaceAll("},","}").substring(1,arr.toString().length()-1));
    }

    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 打杂的程序员 2019-09-11 17:13

    可以转成JSON直接循环判断下不就可以了么。

    评论
    解决 无用
    打赏 举报
  • asafer 2019-09-11 17:51

    你这个就是一个json格式的数据,json转object,你想处理什么数据都行

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题