繁体   English   中英

如何隐藏[“ java.util.LinkedList”,[

[英]how to hide the [ “java.util.LinkedList”, [

如何隐藏[“ java.util.LinkedList”,[

您好,我需要使用网络服务器将xamarin表单应用程序连接到我的数据库,但是当我执行请求时,返回的外观如下所示

 {
  "id" : "123",
  "items" : [ "java.util.LinkedList", [ {
    "id" : 123,
    "codeItem" : "I123",
    "description" : "Item123",
    "quantite" : 1.0,
    "prixUnitaire" : 250.0
  }, {
    "id" : 456,
    "codeItem" : "I456",
    "description" : "Item456",
    "quantite" : 8.0,
    "prixUnitaire" : 5.0
  } ] ],
  "client" : {
    "id" : "123",
    "name" : "user1",
    "address" : "userAdress",
    "surnom" : "userSurnom",
    "age" : 18,
    "dateDeFete" : "1998-08-26 09:59:43.904"
  }
}

您知道如何隐藏[“ java.util.LinkedList”,[

package com.rest.jersey2;

import java.util.LinkedList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;

public class Soumission {

    private String id;
    private List<SoumissionItem> items;
    private Client client;

    public Soumission(){
        this.items = new LinkedList<SoumissionItem>();
    }

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public Client getClient() {
        return client;
    }
    public void setClient(Client client) {
        this.client = client;
    }
    public List<SoumissionItem> getItems() {
        return items;
    }
    public void setItems(List<SoumissionItem> items) {
        this.items = items;
    }
    @JsonIgnore
    public double getTotal() {
        if (this.items != null){
            double total =  0d;
            for (SoumissionItem item: this.items){
                total += item.getTotal();
            }

            return total;           
        }
        return 0d;
    }



}

这是我给的要求

package com.rest.jersey2;

import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

@Path("/xmlbasedreverser")
public class XMLBasedReverser {

    @GET
    @Produces("application/json")
    public Response defaultReverser() {
        try {
            Soumission soumission = new Soumission();
            soumission.setId("123");
            Client client = new Client();
            client.setID("123");
            client.setName("user1");
            client.setAddress("userAdress");
            client.setSurnom("userSurnom");
            client.setAge(18);
            Calendar cal = GregorianCalendar.getInstance();
            cal.set(1998, 7, 26);
            client.setDateDeFete(cal.getTime());
            soumission.setClient(client);


            SoumissionItem item1 = new SoumissionItem();
            item1.setId(123);
            item1.setCodeItem("I123");
            item1.setDescription("Item123");
            item1.setQuantite(1);
            item1.setPrixUnitaire(250d);
            soumission.getItems().add(item1);


            SoumissionItem item2 = new SoumissionItem();

            item2.setId(456);
            item2.setCodeItem("I456");
            item2.setDescription("Item456");
            item2.setQuantite(8);
            item2.setPrixUnitaire(5d);
            soumission.getItems().add(item2);

            return Response.ok(soumission).type(MediaType.APPLICATION_JSON).build();
        } catch (Exception e) {
            throw new WebApplicationException(Status.INTERNAL_SERVER_ERROR);
        }
        // StringBuilder sb = new StringBuilder();
        // sb.append("ANKARA");
        //
        // JSONObject jsonObject = new JSONObject();
        // jsonObject.put("original", sb.toString());
        // jsonObject.put("reversed", sb.reverse().toString());
        //
        // String result = "" + jsonObject;
        // return Response.status(200).entity(result).build();
    }

    @Path("{word}")
    @GET
    @Produces("application/json")
    public Response reverser(@PathParam("word") String word) {

//      StringBuilder sb = new StringBuilder();
//      sb.append(word);
//
//      JSONObject jsonObject = new JSONObject();
//      jsonObject.put("original", sb.toString());
//      jsonObject.put("reversed", sb.reverse().toString());
//
//      String result = "" + jsonObject;
//      return Response.status(200).entity(result).build();
        return Response.ok().build();
    }

}

我的问题的答案是您将所有列表都替换为linkedList,因为杰克逊尝试读取它们并对其进行解析。

package com.rest.jersey2;

import java.util.LinkedList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;

public class Soumission {

    private String id;
    private List<SoumissionItem> items;
    private Client client;

    public Soumission(){
        this.items = new LinkedList<SoumissionItem>();
    }

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public Client getClient() {
        return client;
    }
    public void setClient(Client client) {
        this.client = client;
    }
    public List<SoumissionItem> getItems() {
        return items;
    }
    public void setItems(List<SoumissionItem> items) {
        this.items = items;
    }
    @JsonIgnore
    public double getTotal() {
        if (this.items != null){
            double total =  0d;
            for (SoumissionItem item: this.items){
                total += item.getTotal();
            }

            return total;           
        }
        return 0d;
    }



}

你这样向他们报仇

package com.rest.jersey2;

import java.util.LinkedList;

import com.fasterxml.jackson.annotation.JsonIgnore;

public class Soumission {

    private String id;
    private LinkedList<SoumissionItem> items;

    private Client client;

    public Soumission(){
        this.items = new LinkedList<SoumissionItem>();
    }

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public Client getClient() {
        return client;
    }
    public void setClient(Client client) {
        this.client = client;
    }

    public LinkedList<SoumissionItem> getItems() {
        return items;
    }

    public void setItems(LinkedList<SoumissionItem> items) {
        this.items = items;
    }
    @JsonIgnore
    public double getTotal() {
        if (this.items != null){
            double total =  0d;
            for (SoumissionItem item: this.items){
                total += item.getTotal();
            }

            return total;           
        }
        return 0d;
    }



}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM