Ne peut pas désérialiser instance de START_OBJECT jeton

Mon Json ressemble à quelque chose comme (et ses inmodifiable)

{
    ....
    "Sale": [
        "SaleLines": {
                    "SaleLine": [
                        {
                            "Item": {
                                "Prices": {
                                    "ItemPrice": [
                                        {
                                            "amount": "100",
                                            "useType": "Default"
                                        },
                                        {
                                            "amount": "100",
                                            "useType": "MSRP"
                                        }
                                    ]
                                },
                            }
                                ......
                                ......
                        } 
                ] 
            "calcDiscount": "0",
            "calcSubtotal": "500",
        }
    ]
}

Le POJO java code ressemble à

public static class SaleLines {
@JsonProperty("SaleLine")
private SaleLineObject[] saleLineObject;
public SaleLineObject[] getSaleLineObject() { return saleLineObject; }
public void setSaleLineObject(SaleLineObject[] saleLineObject) { this.saleLineObject = saleLineObject; }
}
public static class SaleLineObject {
private SaleLine saleLine;
public SaleLine getSaleLine() {
return saleLine;
}
public void setSaleLine(SaleLine saleLine) {
this.saleLine = saleLine;
}
}
public static class SaleLine {
@JsonProperty("itemID")
private String itemId;                  //line_item_nk
@JsonProperty("unitPrice")
private String unitPrice;
....
}
@JsonPropertyOrder({"total", "calcSubTotal", "calcDiscount"})
public static class Sale {
private String saleTotal, calcSubtotal, calcDiscount; 
private int salesValueWOVat;
@JsonProperty("SaleLines")
SaleLines saleLine;
@JsonCreator
public Sale (@JsonProperty("total")String saleTotal,
@JsonProperty("calcSubtotal")String calcSubtotal,
@JsonProperty("calcDiscount")String calcDiscount,
@JsonProperty("SaleLines")SaleLines saleLine,
) {
this.saleTotal = saleTotal;
this.calcSubtotal = calcSubtotal;
this.calcDiscount = calcDiscount;
this.saleLine = saleLine;
setSalesValueWOVat();
}
//getter and setters 
}
@SuppressWarnings({ "rawtypes" })
public static <E, T extends Collection> T readFromJsonAndFillType (
String json, 
Modules module,
Class <T> collectionType,
Class <E> elementType) 
throws JsonParseException, JsonMappingException, IOException {
ObjectMapper objMapper = new ObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
TypeFactory tf = objMapper.getTypeFactory();
JsonNode node = objMapper.readTree(json).get(module.jsonFieldName); 
return objMapper.readValue(node.toString(),
tf.constructCollectionType(collectionType, elementType));
}

Dans les principales

ArrayList<Sale> saleList = readFromJsonAndFillType(
saleJSON, 
Modules.SALE, 
ArrayList.class,
Sale.class);
for (Sale sale: saleList) {
System.out.println(sale.toString());
}

Je sais que cette question a été posée à plusieurs reprises et j'ai pris de l'aide auprès de ge
Ne peut pas désérialiser instance de java.util.Liste de tableaux de START_OBJECT jeton

Encore, mais je ne peut pas obtenir par le biais de cette erreur

  • S'il vous plaît dites-nous comment vous pensez que le JSON peut être désérialisé à votre objet arborescence.
  • Aussi nous montrer le code qui effectue la désérialisation.
  • Veuillez voir le modifier
  • Vous avez un objet JSON {..} et que vous essayez de désérialiser à un tableau. Comment pensez-vous que cela devrait fonctionner?
  • mais l'objet json est, dans le tableau, c'est pourquoi j'ai un tableau et puis la classe represting l'objet json :/
  • Aah, pas de soucis. Son json c'est le problème. Il y a quelques SaleLine où il a un tableau et d'objets à l'intérieur alors que si il y a un seul objet, puis il n'y a pas de tableau.. je vais supprimer cette question en temps et poser des questions sur les objets dans le tableau et l'objet sans le tableau de problème..
  • Je vais la chercher.
  • mais d'abord je vais lutte 🙂

InformationsquelleAutor LivingThing | 2015-01-04