Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio:如何使用Spring Resttemplate获取包含对象列表的对象_Java_Android_Json_Spring_Resttemplate - Fatal编程技术网

Java Android Studio:如何使用Spring Resttemplate获取包含对象列表的对象

Java Android Studio:如何使用Spring Resttemplate获取包含对象列表的对象,java,android,json,spring,resttemplate,Java,Android,Json,Spring,Resttemplate,我必须承认,我需要一些帮助。 我只有3周的Rest经验,2周的Grails经验和一周的Android Studio经验,所以我希望你不要对我太苛刻。 我从grails服务器获得了这个Json: {"class":"medicserver.Medication", "id":1,"dateOfPrescription":"2015-09-19T08:12:34Z", "description":"Meds", "medicationUnit":[{"class":"medicserver.Medi

我必须承认,我需要一些帮助。 我只有3周的Rest经验,2周的Grails经验和一周的Android Studio经验,所以我希望你不要对我太苛刻。 我从grails服务器获得了这个Json:

{"class":"medicserver.Medication",
"id":1,"dateOfPrescription":"2015-09-19T08:12:34Z",
"description":"Meds",
"medicationUnit":[{"class":"medicserver.MedicationUnit","id":1},{"class":"medicserver.MedicationUnit","id":2},{"class":"medicserver.MedicationUnit","id":3}],
"patient":null}
你看,属性“MedicalationUnit”是MedicalationUnit的列表,这是我的ResponseObject在创建时唯一没有的东西。我就是不明白。 以下是Rest代码:

RestTemplate restTemplate = new RestTemplate();
            MappingJackson2HttpMessageConverter mapping = new MappingJackson2HttpMessageConverter();
            mapping.setObjectMapper(new ObjectMapper());
            restTemplate.getMessageConverters().add(mapping);
            Medication medication = restTemplate.getForObject(url , Medication.class);
            return medication;
我的类-plaese忽略静态类型。这是为了实现内部类:

@JsonIgnoreProperties(ignoreUnknown = true)
    static class Medication{

        String description;

        MedicationUnit[] medicationUnit;

        Date dateOfPrescription;


        public Medication(){

        }

        public void setDescription(String description){
            this.description = description;
        }

        public String getDescription(){
            return this.description;
        }

        public void setMedicationUnit(MedicationUnit[] medicationUnit){
            this.medicationUnit = medicationUnit;
        }

        public MedicationUnit[] getMedicationUnit(){
            return this.medicationUnit;
        }

        public void setDateOfPrescription(Date dateOfPrescription){
            this.dateOfPrescription = dateOfPrescription;
        }

        public Date getDateOfPrescription(){
            return this.dateOfPrescription;
        }

        public String postAll(){
            String result = this.description + "\n" + String.valueOf(this.dateOfPrescription) + "\n";
            for(MedicationUnit med: this.medicationUnit){
                result = result + med.postAll();
            }
            return result;
        }

    }
药物单位:

@JsonIgnoreProperties(ignoreUnknown = true)
static class MedicationUnit {

    String name="Hans";

    Date intakeTime=new Date(0);

    int dosage=3;


    public MedicationUnit(){
    }

    public void setName(String name){
        this.name=name;
    }

    public String getName(){
        return this.name;
    }

    public void setIntakeTime(Date intakeTime){
        this.intakeTime=intakeTime;
    }

    public Date getIntakeTime(){
        return this.intakeTime;
    }

    public void setDosage(int dosage){
        this.dosage=dosage;
    }

    public int getDosage(){
        return this.dosage;
    }

    private String postAll(){
        String result;
        result = this.name + " " + String.valueOf(this.intakeTime) + " " + String.valueOf(dosage) + "\n";
        return result;
    }

}

JSON表示单位的类别是
medicserver.MedicationUnit
。但是您的MedicalationUnit类似乎嵌套在另一个类中,因此它的名称不是
medicserver.MedicalationUnit
。您是否在客户端和服务器之间使用不同的类?我的MedicinationUnit、Medicing和Rest函数位于同一活动中。MedicalationUnit和我的服务器配合得很好。我已经编写了一个额外的API来确保它。唯一的问题是药物清单。我肯定你没有回答我的问题。您是否使用完全相同的类在服务器上生成JSON并在客户端读取它?如果没有,那就做吧。谢谢,我会努力的,我不完全了解这个主题。我认为需要的组件是用json编码的。我的团队成员编写了这个部分,它看起来像一个映射表。我会再问他一点关于这一点,好吧,错误在服务器的某个地方。我得问问我的朋友!再次感谢你抽出时间,你救了我一天,伙计!:数据JSON表示单位的类别为
medicserver.MedicationUnit
。但是您的MedicalationUnit类似乎嵌套在另一个类中,因此它的名称不是
medicserver.MedicalationUnit
。您是否在客户端和服务器之间使用不同的类?我的MedicinationUnit、Medicing和Rest函数位于同一活动中。MedicalationUnit和我的服务器配合得很好。我已经编写了一个额外的API来确保它。唯一的问题是药物清单。我肯定你没有回答我的问题。您是否使用完全相同的类在服务器上生成JSON并在客户端读取它?如果没有,那就做吧。谢谢,我会努力的,我不完全了解这个主题。我认为需要的组件是用json编码的。我的团队成员编写了这个部分,它看起来像一个映射表。我会再问他一点关于这一点,好吧,错误在服务器的某个地方。我得问问我的朋友!再次感谢你抽出时间,你救了我一天,伙计!:D