把json数据转化成对象
Posted 沁宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把json数据转化成对象相关的知识,希望对你有一定的参考价值。
把json数据转化到一个对象中,再用对象直接调用
1 package com.lxj.register; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.MalformedURLException; 7 import java.net.URL; 8 9 import net.sf.json.JSONObject; 10 11 public class Demo { 12 public static void main(String[] args) { 13 try { 14 // 创建URL连接到服务器 15 URL url = new URL("http://192.168.18.249:8080/order/register"); 16 try { 17 // 创建输入流 18 BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); 19 StringBuffer sb = new StringBuffer(); 20 String st ; 21 // 开始接受数据,先接受到st中 22 while((st = br.readLine()) != null){ 23 // 再拼接到sd中 24 sb.append(st); 25 } 26 // 打印出所有的数据 27 System.out.println(sb.toString()); 28 // JSONObject.toBean()把JSONObject转化成Register对象 29 // JSONObject.fromObject(sb.toString()把sb.toString字符串转化为JsonObject 30 // Register.class意思是转化成Register 31 Register register = (Register) JSONObject.toBean(JSONObject.fromObject(sb.toString()),Register.class); 32 // 服务器的数据存入了Register对象中,只要register调用就可以了 33 System.out.println("msg:"+register.getMsg()); 34 System.out.println("retCode:"+register.getRetCode()); 35 System.out.println("姓名:"+register.getInfo().getName()); 36 System.out.println("性别:"+register.getInfo().getSex()); 37 } catch (IOException e) { 38 // TODO Auto-generated catch block 39 e.printStackTrace(); 40 } 41 } catch (MalformedURLException e) { 42 // TODO Auto-generated catch block 43 e.printStackTrace(); 44 } 45 } 46 }
1 package com.lxj.register; 2 3 public class Register { 4 private String msg; 5 private String retCode; 6 private Info info; 7 8 // 生成set get 方法 9 public String getMsg() { 10 return msg; 11 } 12 13 14 public void setMsg(String msg) { 15 this.msg = msg; 16 } 17 18 19 public String getRetCode() { 20 return retCode; 21 } 22 23 24 public void setRetCode(String retCode) { 25 this.retCode = retCode; 26 } 27 28 29 public Info getInfo() { 30 return info; 31 } 32 33 34 public void setInfo(Info info) { 35 this.info = info; 36 } 37 38 // 把Info创建成内部类,外部类可以直接调用 39 public static class Info { 40 private String name; 41 private String sex; 42 public String getName() { 43 return name; 44 } 45 public void setName(String name) { 46 this.name = name; 47 } 48 public String getSex() { 49 return sex; 50 } 51 public void setSex(String sex) { 52 this.sex = sex; 53 } 54 55 } 56 }
以上是关于把json数据转化成对象的主要内容,如果未能解决你的问题,请参考以下文章