-1

WebService の JPA 関数によって作成された以下の JSON 配列があります。

[{"Producao":{"cliente":{"id":3,"nome_fantasia":"animal"},"data":"2013-11-08T00:00:00-02:00","id":1,"liberado":0,"prazo":"2013-11-14T00:00:00-02:00","produto":{"codigo_desenho":"CODIGO","dependencia":0,"descricao":"Produto1","disponivel":1,"id":39,"qtde":1,"raiz":0},"qtde":1}},{"Producao":{"cliente":{"id":1,"nome_fantasia":"bem"},"data":"2013-11-08T00:00:00-02:00","id":2,"liberado":0,"prazo":"2013-11-14T00:00:00-02:00","produto":{"codigo_desenho":"","dependencia":0,"descricao":"teste3","disponivel":1,"id":35,"qtde":1,"raiz":0},"qtde":2}}]

そして、Android アプリでそれを読まなければなりません。それらをリストに変換します。オブジェクト「Producao」は、属性としてオブジェクト「Cliente」を持っています。

私は以下のようにしようとしています:

public static Producao jSONToProducao(JSONObject json) throws JSONException, ParseException{
        JSONObject jPro = json.getJSONObject("Producao");
        Producao producao = new Producao();
        producao.setId(jPro.getInt("id"));
    producao.setCliente(ClienteDAO.jSONToCliente(jPro.getJSONObject("cliente")));
    .
    .
    .
    return producao;
}

ClienteDAO.jSONToClient の場所:

public static Cliente jSONToCliente(JSONObject json) throws JSONException{
        JSONObject jCli = json.getJSONObject("Cliente");
        Cliente cliente = new Cliente();
        cliente.setId(jCli.getInt("id"));
        cliente.setNome_fantasia(jCli.getString("nome_fantasia"));
    return cliente;
}

しかし、行は次をproducao.setCliente(ClienteDAO.jSONToCliente(jPro.getJSONObject("cliente")))返します:

JSON Exception ~> クライアントに値がありません」. ¬¬'

JSONArrayとしても読み込もうとしましたが、うまくいきませんでした。

4

1 に答える 1

0

JSON 例外 ~> cliente の値がありません

clienteJSONObject をjSONToClienteメソッドに渡しているため、 JSONObjectjSONToProducaoからすべての値を取得するようにコードを変更します。cliente

public static Cliente jSONToCliente(JSONObject json) throws JSONException{
     // json contain only cliente JSONObject
        Cliente cliente = new Cliente();
        cliente.setId(json.getInt("id"));
        cliente.setNome_fantasia(json.getString("nome_fantasia"));
    return cliente;
}
于 2013-11-10T14:35:16.950 に答える