0

JSONを理解して学習しようとしているときに、質問がありました。

{
"items": [
    {
        "id": "353453",
        "count": 2,
        "amount": 50
    },
    {
        "id": "3534534",
        "count": 1,
        "amount": 1.9
    },
    {
        "id": "23423423",
        "count": 2,
        "amount": 1.1
    },
    {
        "id": "2342234",
        "count": 3,
        "amount": 32.9
    }
],
"oid": 1000000009
}

それは私が今までコーディングしたものです:

public class Test {

    public static void main(String... args) throws Exception {

        String json = "{\"items\":[{\"id\":\"353453\",\"count\":2,\"amount\":50.00},{\"id\":\"3534534\",\"count\":1,\"amount\":1.90},{\"id\":\"23423423\",\"count\":2,\"amount\":1.10},{\"ean\":\"2342234\",\"count\":3,\"amount\":32.90}],\"oid\":1000000009}";

   System.out.println(dojObject.getItems().get(0).getID());


    }

}

class DataOrderJson {

    private List<ItemDetails> items;
    private Long oid;

    public DataOrderJson() {

    }

    public Long getOid() {
        return oid;
    }

    public List<ItemDetails> getItems() {
        return items;
    }

    public void setOid(Long oid) {
        this.oid = oid;
    }

    public void setItems(List<ItemDetails> items) {
        this.items = items;
    }

    @Override
    public String toString() {
        return String.format("{items:%s,oid:%s}", items, oid);
    }

}

class ItemDetails {
    private String id;
    private Long count;
    private Float amount;

    public ItemDetails() {

    }

    public String getID() {
        return id;
    }

    public Long getCount() {
        return count;
    }

    public Float getAmount() {
        return amount;
    }

    public void setID(String id) {
        this.ean = ean;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public void setAmount(Float amount) {
        this.amount = amount;
    }

    @Override
    public String toString() {
        return String.format("{id:%s,count:%s,amount:%s}", id, count, amount);
    }

}

期待どおりの出力:353453

ここで、idがjson文字列の一部であるかどうかを確認したいと思います。jsonオブジェクトのlsitをjavaオブジェクトのリストに変換するのに問題があります。jsonオブジェクトをリストに入れて、このリストを反復処理するにはどうすればよいですか?

4

1 に答える 1

0

twijavaオブジェクトを作成する必要があります。

class Order {

    private List<Item> items;
    private Long orderid;
    Order(){}
}

Class Item {
    private String ean;
    private Long count;
    private Float amount;
    Item(){}
}

次に、電話するだけです。

 Order jobj = new Gson().fromJson(json, Order.class);

jsonを解析できるようにするには、jsonオブジェクトと同じプロパティ名を表すオブジェクトが必要です。

于 2013-03-08T15:20:13.113 に答える