【问题标题】:Create json structure in Android在Android中创建json结构
【发布时间】:2020-06-02 01:23:38
【问题描述】:

我正在尝试在 Android 中创建这样的 json 结构,但找不到任何方法来完成它。

{
  "FirstName": Fred,
  "LastName": "Poulsen",
  "Age": "18",
  "Phone": {
    "mobile": {}
  }
}

这是我尝试做的。

        Map<Object, Object> objectMap = new HashMap<>();
        Map<Object, Object> phone = new HashMap<>();


        objectMap.put("FirstName", "Fred");
        objectMap.put("LastName", "Poulsen");
        objectMap.put("Age", "18");
        objectMap.put("Phone", phone);
        input.put("mobile", body);

【问题讨论】:

    标签: android arraylist hashmap


    【解决方案1】:

    您可以使用Gson 来制作您的json。添加Gson依赖app/build.gradle,创建User类。试试这个

    implementation 'com.google.code.gson:gson:2.8.6'
    
    public class User {
    
        @SerializedName("FirstName")
        private String mFirstName;
    
        @SerializedName("LastName")
        private String mLastName;
    
        @SerializedName("Age")
        private int mAge;
    
        @SerializedName("Phone")
        private Phone mPhone;
    
        public class Phone {
            @SerializedName("mobile")
            private String mobile;
    
            public Phone(String mobile) {
                this.mobile = mobile;
            }
        }
    
        public User(String firstName, String lastName, int age, String phone) {
            mFirstName = firstName;
            mLastName = lastName;
            mAge = age;
            mPhone = new Phone(phone);
        }
    }
    
    new Gson().toJson(new User("Fred", "Poulsen", 18, "0123456789")); // your json
    

    【讨论】:

      【解决方案2】:

      我猜完美的结构应该是:

          Map<Object, Object> phone = new HashMap<>();
          phone.put("mobile","1234567890");
      
          Map<Object, Object> objectMap = new HashMap<>();
          objectMap.put("FirstName", "Fred");
          objectMap.put("LastName", "Poulsen");
          objectMap.put("Age", "18");
          objectMap.put("Phone", phone);
      

      您可以使用edittext.getText().toString().trim()获取手机号码,并可以添加验证,然后您可以轻松使用此方法。

      【讨论】:

        【解决方案3】:

        测试一下

          JSONObject jsonParent = new JSONObject();
          JSONObject jsonMobile = new JSONObject();
                try {
                    jsonMobile.put("mobile","");
                    jsonParent.put("FirstName", "Fred");
                    jsonParent.put("LastName", "Poulsen");
                    jsonParent.put("Age", "18");
                    jsonParent.put("Phone", jsonMobile);
        
                } catch (JSONException e) {
                    e.printStackTrace();
                }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-24
          • 2019-11-27
          • 2018-12-12
          • 2017-06-01
          • 1970-01-01
          相关资源
          最近更新 更多