如何从Java字符串中获取元素?

发布时间:2020-07-06 06:14

例如,我有这个字符串

{“ items”:[{“ match_id”:“ 1-147440f1-7330-4c9c-9d3d-fab2e43e0754”,“ version”:2,“ region”:“ EU”},{“ match_id”:“ 2 -543985-ndakf-948129-dfsdafsda89fsda“, “ version”:2“,” region“:” EU“}

如何仅获取“ 1-147440f1-7330-4c9c-9d3d-fab2e43e0754”,所以match_id之后的下一个字符位于“”之间。我需要它们作为字符串,所以不需要int或其他任何东西,而只是字符串。 谢谢!

回答1

这使用的是json-simple-1.1,您可以下载jar或通过Maven/Gradle添加依赖项。

    String json = "{\"items\":[{\"match_id\":\"1-147440f1-7330-4c9c-9d3d-fab2e43e0754\",\"version\":2,\"region\":\"EU\"},{\"match_id\":\"2-543985-ndakf-948129-dfsdafsda89fsda\", \"version\":\"2\",\"region\":\"EU\"}]}";
    Object obj = new JSONParser().parse(json);

    JSONObject jo = (JSONObject) obj;
    
    JSONArray items = (JSONArray) jo.get("items");
    List<String> matchIds = new ArrayList<>();
    for(int i=0; i<items.size();i++) {
        JSONObject item = (JSONObject) items.get(i);    
        matchIds.add(item.get("match_id").toString());
    }
    
    System.out.println(matchIds.get(0));