首先写一个Java Bean
public class Shouji {
private String pingpai;
private String price;
private String size;
private String yanse;
public Shouji() {
}
public Shouji(String pingpai, String price, String size, String yanse) {
super();
this.pingpai = pingpai;
this.price = price;
this.size = size;
this.yanse = yanse;
}
public String getPingpai() {
return pingpai;
}
public void setPingpai(String pingpai) {
this.pingpai = pingpai;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getYanse() {
return yanse;
}
public void setYanse(String yanse) {
this.yanse = yanse;
}
public String toString() {
return "Shouji [pingpai=" + pingpai + ", price=" + price + ", size=" + size + ", yanse=" + yanse + "]";
}
}
然后完成Json
public class JsonText05 {
public static void main(String[] args) {
//创建手机对象
Shouji shouji =new Shouji();
shouji.setPingpai(“华为”);
shouji.setPrice(“799”);
shouji.setSize(“5.5英寸”);
shouji.setYanse(“白色”);
//输出
System.out.println(“写出的Json格式”);
//调用方法
String json = ObjectToJson(shouji);
System.err.println(json);
//调用方法
Shouji shouji2=ShoujiToJios(json);
System.out.println(shouji2);
}
public static String ObjectToJson(Shouji b){
//将Java里面的元素转换为Json格式
String json="{\"pingpai\":\""+b.getPingpai()+"\",\"price\":\""+b.getPrice()+"\",\"size\":\""+
b.getSize()+"\",\"yanse\":\""+b.getYanse()+ "}";
return json;
}
public static Shouji ShoujiToJios(String json){
Shouji shouji=new Shouji();
json =json.replaceAll("\"", "");//把双引号替换掉
json=json.replaceAll("\\{", "");//把大括号去掉
json=json.replaceAll("\\}", "");//把大括号去掉
String[] data = json.split(",");//根据给定正则表达式的匹配拆分此字符串。
for (String string : data) {//用增强For进行遍历
String dat= string.substring(string.indexOf(":")+1);//截取:后面的数据索引+1
if(string.contains("pingpai")){//调用者是否包含指定字符串
shouji.setPingpai(dat);//将截取数据转为手机
}else if(string.contains("price")){//调用者是否含指定字符串
shouji.setPrice(dat);//将截取出来后年的字符串放在手机类
}else if(string.contains("size")){
shouji.setSize(dat);
}else if(string.contains("yanse")){
shouji.setYanse(dat);
}
}
//返回 手机
return shouji;
}
}