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); } ); }); });