JSON数据操作

PS:以下操作需要利用GSON工具包!

1.读取JSON格式文本

读取外部JSON格式的文本文档:

BufferedReader frc = new BufferedReader(new FileReader(this.getServletContext().getRealPath("/resource/省.txt")));

准备一个StringBuilder、一个String

StringBuilder sbc = new StringBuilder();
String messc = "";

将数据存入StringBuilder中

while((messc=frc.readLine())!=null) {
    sbc.append(messc);
}

2.将StringBuilder的内容转为一个对象集合

List<City> cityList =  g.fromJson(sbc.toString(), new TypeToken<List<City>>() {}.getType());

这里注意把StringBuilder转为字符串

3.利用ajax发送请求,获得返回数据时,如果返回的数据没有被转为JSON对象或者返回值是json格式字符串,可以手动将返回值转为json对象

function(data){
    var result = eval("("+data+")");//转为JSON对象
    var context = "<option selected='selected'>请选择省份</option>";
    for( i in result ){
       context+="<option value="+result[i].code+">"+result[i].name+"</option>";
    }
    $("#province").html(context);
}

PS 如果select标签的change事件失效,可以使用on来绑定事件

            $("#province").on("change",function(){//on绑定事件
                $.get(
                    "getArea?province="+$("#province option:selected").val(),
                    function(data){
                        var result = eval("("+data+")");
                        var cities = "<option selected='selected'>请选择城市</option>";
                        for( i in result ){
                            cities+="<option value="+result[i].code+">"+result[i].name+"</option>";
                        }
                        $("#city").css('display','inline-block');
                        $("#city").html(cities);
                    }
                );
            });
        });

 

posted @ 2018-05-20 17:23  0==1&1==0  阅读(198)  评论(0)    收藏  举报