如何将JSON映射到Java模型类

发布于 2021-01-30 16:03:58

我需要将JSONobj
映射到一个类及其中的数组ArrayListAndroid并且它也应该具有所有子级数据。(也嵌套数组列表),我需要再次将更新的数据列表转换为jsonobject

我的json字符串是

  {
    "type": "already_planted",
    "crops": [
      {
        "crop_id": 1,
        "crop_name": "apple",
        "crop_details": [
          {
            "created_id": "2017-01-17",
            "questions": [
              {
                "plants": "10"
              },
              {
                "planted_by": "A person"
              }
            ]
          },
          {
            "created_id": "2017-01-30",
            "questions": [
              {
                "plants": "15"
              },
              {
                "planted_by": "B person"
              }
            ]
          }
        ]
      },
      {
        "crop_id": 2,
        "crop_name": "Cashew",
        "crop_details": [
          {
            "created_id": "2017-01-17",
            "questions": [
              {
                "plants": "11"
              },
              {
                "planted_by": "c person"
              }
            ]
          }
        ]
      }
    ]
  }
关注者
0
被浏览
87
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    首先, 您需要创建要在其中映射JSON的类。

    幸运的是,有一个网站,可以为你做它在这里


    其次,您可以使用Google Gson库进行轻松映射

    1.添加
    依赖项

            dependencies {
              implementation 'com.google.code.gson:gson:2.8.6'
             }
    

    2.从您的对象到JSON。

            MyData data =new MyData() ; //initialize the constructor 
            Gson gson = new Gson();  
            String Json = gson.toJson(data );  //see firstly above above
            //now you have the json string do whatever.
    

    3.从JSON到object。

            String  jsonString =doSthToGetJson(); //http request 
            MyData data =new MyData() ; 
            Gson gson = new Gson();  
            data= gson.fromJson(jsonString,MyData.class); 
            //now you have Pojo do whatever
    

    有关gson的更多信息,请参见本教程



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看