为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用java读取多个json对象?

如何使用java读取多个json对象?

慕莱坞森 2021-05-31 17:43:02
我有一个 JSON 响应,我想将每个元素存储在一个字符串中。因为我是 JSON 的新手,所以很难找到解决方案。请建议我一个解决方案。以下是我的 json 响应。{    "responseFlag": 1,    "responseMsg": "Successfully retrieved data",    "responseObj": [{            "assets": {                "asset_since": "",                "asset_type": "",                "comments": "",                "estimated_value": "",                "material_status": "SINGLE",                "ownership_of_assets": "",                "pep": "",                "source_of_income": ""            }        },        {            "assets": {                "asset_since": "",                "asset_type": "",                "comments": "",                "estimated_value": "",                "material_status": "SINGLE",                "ownership_of_assets": "",                "pep": "",                "source_of_income": ""            }        }    ]}我想将每个对象元素存储在一个数组中。我试过的代码如下。 package mytry; import java.util.Iterator; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException;  public class Mytry {   public static void main(String[] args) {    // TODO code application logic here    String response="{\n" +    "  \"responseFlag\": 1,\n" +    "  \"responseMsg\": \"Successfully retrieved data\",\n" +    "  \"responseObj\": [\n" +    "    {\n" +    "      \"assets\": {\n" +    "        \"asset_since\": \"\",\n" +    "        \"asset_type\": \"\",\n" +    "        \"comments\": \"\",\n" +    "        \"estimated_value\": \"\",\n" +    "        \"material_status\": \"SINGLE\",\n" + 
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

如果您使用的是 json-simple-1.1.1 jar。这是下面的代码:


        JSONParser parser = new JSONParser();

        try {

            Object obj = parser.parse(response);

            JSONObject jsonObject = (JSONObject) obj;

            //System.out.println(jsonObject.toString());

            System.out.println("json size==" + jsonObject.size());

            System.out.println("hghgfh" + jsonObject.keySet());

            JSONArray jsonArray = (JSONArray)jsonObject.get("responseObj");

            for(int i=0; i<jsonArray.size(); i++)

            {

                JSONObject arrayJsonObject  = (JSONObject) jsonArray.get(i);

                JSONObject assets = (JSONObject) arrayJsonObject.get("assets");

                // read the assets to store

            }

        }catch (Exception e){


        }


查看完整回答
反对 回复 2021-06-02
?
慕仙森

TA贡献1827条经验 获得超8个赞

这是一个伪代码。您可以填写此代码中缺少的部分。


       String json = "{"responseFlag":1,"responseMsg":"Successfully retrieved data","responseObj":[{"assets":{"asset_since":"","asset_type":"","comments":"","estimated_value":"","material_status":"SINGLE","ownership_of_assets":"","pep":"","source_of_income":""}},{"assets":{"asset_since":"","asset_type":"","comments":"","estimated_value":"","material_status":"SINGLE","ownership_of_assets":"","pep":"","source_of_income":""}}]}";


        JSONObject jsonObject = new JSONObject(json); 

        JSONArray jsonArray = jsonObject.getJSONArray("responseObj");



        for(int i=0; i<jsonArray.length(); i++) 

        {

            JSONObject arrayJsonObject  = jsonArray.getJSONObject(i);   

            //insert into your list or array 

        }


查看完整回答
反对 回复 2021-06-02
  • 2 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信