Java 解析 Json 文件 (把 Json 转化成 String 的方法来解析)

来源:互联网 发布:数控车床如何编程 编辑:程序博客网 时间:2024/06/05 17:54

1.首先获得 Json这个 Object 然后利用 ObjectMapper将其转为为 String.

Object result = testTemplate.getForObject("http://127.0.0.1:8090", Object.class);ObjectMapper mapper = new ObjectMapper();String jsonString = mapper.writeValueAsString(result);

2.将得到的 jsonString转化为 jsonObject.

final JSONObject jsonObj = new JSONObject(jsonString);

3.然后在了解到 josn中是JSONObject还是 JSONArray的情况下解析 jsonObj。

4.完整的代码:

public void parseJSON(String url){    Object result = testTemplate.getForObject(url, Object.class);    ObjectMapper mapper = new ObjectMapper();    LinkedMemberDTO linkedMemberDTO = new LinkedMemberDTO();    List<ResultsDTO> resultsDTOs = new ArrayList<>();    List<LinkedMemberResultDTO> getResultLists = new ArrayList<>();    try{        String jsonString = mapper.writeValueAsString(result);    //得到 JSONObject        final JSONObject jsonObj = new JSONObject(jsonString);        linkedMemberDTO.setROOTMemberSrl(jsonObj.getString("name"));    //得到 JSONArray        final JSONArray keysArray = resultObject.getJSONArray("result");    //解析得到的 JSONArray        for(int i = 0; i < jsonResultsArray.length();i++){            final JSONObject resultObject = jsonResultsArray.getJSONObject(i);            final JSONArray keysArray = resultObject.getJSONArray("keys");            Long linkedName = resultObject.getLong("name");            Double score = resultObject.getDouble("score");            ......        }    }catch().....}
原创粉丝点击