首先创建一个实体类。
public class PatientPhoneLocation {
// 省
private String prov;
// 市
private String city;
public String getProv() {
return prov;
}
public void setProv(String prov) {
this.prov = prov;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
下面的方法是解析字符串方法。
public static void main(String[] args) {
PatientPhoneLocation phoneLocation = jsonToLocation ("{'ret':200,'msg':'success','data':{'types':'中国移动','lng':'116.407526','city':'北京','num':'1352251','isp':'移动','area_code':'110100','city_code':'010','prov':'北京','zip_code':'100000','lat':'39.90403'},'log_id':'4001EB1D-3528-48C4-9F13-11723DD043F4'}");
System.out.println(phoneLocation.getProv());
System.out.println(phoneLocation.getCity());
}
public static PatientPhoneLocation jsonToLocation (String resultJson) {
String htmlEncodeByRegExp = htmlEncodeByRegExp(resultJson);
JSONObject jsonObject = JSONObject.fromObject(htmlEncodeByRegExp);
JSONObject jsonObj= jsonObject.getJSONObject("data");
PatientPhoneLocation phoneLocation = (PatientPhoneLocation)net.sf.json.JSONObject.toBean(jsonObj, PatientPhoneLocation.class);
return phoneLocation;
}
private static String htmlEncodeByRegExp(String str){
String s = "";
if(str.length() == 0) return "";
s = str.replace("\n"," ");
s = s.replace("\r"," ");
return s;
}
希望可以帮助到大家。