开发者

Deserealize JSON jqGrid results in Java

I have the JSON result :

[{"habilitado":true,"centroDeCustos.codigo":30,"centroDeCustos.nome":"INCUBATORIO OVOS - IBIPORÃ","_id_":10},
{"habilitado":true,"centroDeCustos.codigo":31,"centroDeCustos.nome":"FRIGORIFICO AVES - LONDRINA","_id_":11}, ... etc ]

How do i deserealize centroDeCustos.codigo and centroDeCustos.nome

My classes

@Deserializes({ "application/json", "json", "text/javascript" })
public class CustomJSONDeserealization implements Deserializer {
public Object[] deserialize(InputStream inputstream, ResourceMethod resourcemethod) {
    GsonBuilder gs = new GsonBuilder();
    Gson gson = gs.create();
    StreamToString sts = new StreamToString();
    try {

       BufferedReader br = new BufferedReader(new InputStreamReader(inputstream));

       JSONArray js;
       js = new JSONArray(sts.convertStreamToString(inputstream));
       List<Teste> rows = gson.fromJson(js.toString(), new TypeToken<List<Teste>>(){}.getType());开发者_如何学JAVA           

    System.out.println(rows); // for test
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
}

class StreamToString {
    public String convertStreamToString(InputStream is) throws IOException {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        return sb.toString();
    }
}

    class Teste {
        public Boolean habilitado;
        public CentroDeCustos centroDeCustos; // Is other Class
    }

public class CentroDeCustos {
    private int codigo;
        private String nome;

        // implementation class
}

//My javascript post

        $(document).ready(function(){

            $("#salvarccustos").click(function(){       
                var idToDataIndex = jQuery('#listaccustos').jqGrid('getGridParam','_index');

                var id;
                for (id in idToDataIndex) {
                    if (idToDataIndex.hasOwnProperty(id)) {
                        var mydata = $("#listaccustos").jqGrid('getGridParam','data');
                    }
                }

            var postData = JSON.stringify(mydata);  
            alert("JSON serialized jqGrid data:\n" + postData);
                $.ajax({
                    type: 'POST',
                    url: '/webdip/usuario/ccustos/salvar',
                    contentType: 'application/json',                    
                    dataType: 'json',                   
                    processData: false,
                    data: postData,
                    success: function(result) {
                        alert('sucesso');
                        $('#listaccustos').trigger('reloadGrid');
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert('erro: ' + XMLHttpRequest.responseText);
                        return false;
                    }
                });
            });
        });
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜