Json源生解析
来源:互联网 发布:java web 混淆 编辑:程序博客网 时间:2024/05/23 15:40
反解析生成Json格式
TestJson.java
public class TestJson { public static void main(String[] args) { JSONObject object = new JSONObject(); object.put("firstName", "John"); object.put("lastName", "Smith"); object.put("sex", "male"); object.put("age", 25); JSONObject address = new JSONObject(); address.put("streetAddress", "宝盛北里西区28号"); address.put("city", "北京"); address.put("state", "北京"); address.put("postalCode", "100019"); object.put("address", address); JSONArray phoneNumber = new JSONArray(); JSONObject number1 = new JSONObject(); number1.put("type", "home"); number1.put("number", " 10086"); phoneNumber.put(number1); JSONObject number2 = new JSONObject(); number2.put("type", "fax"); number2.put("number", " 10010"); phoneNumber.put(number2); object.put("phoneNumber", phoneNumber); System.out.println(object.toString()); }}Address.java
public class Address { private String streetAddress; private String city; private String state; private String postalCode; public String getStreetAddress() { return streetAddress; } public void setStreetAddress(String streetAddress) { this.streetAddress = streetAddress; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getPostalCode() { return postalCode; } public void setPostalCode(String postalCode) { this.postalCode = postalCode; }}
Phone.java
public class Phone { private String type; private String number; public String getType() { return type; } public void setType(String type) { this.type = type; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; }}
User.java
public class User { private String firstName; private String lastName; private String sex; private int age; private Address address; private List<Phone> phoneNumber; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public List<Phone> getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(List<Phone> phoneNumber) { this.phoneNumber = phoneNumber; }}
生成的JSON格式的解析文件
"{\"firstName\":\"John\",\"lastName\":\"Smith\",\"address\":{\"streetAddress\":\"宝盛北里西区28号\",\"city\":\"北京\",\"postalCode\":\"100019\",\"state\":\"北京\"},\"phoneNumber\":[{\"number\":\" 10086\",\"type\":\"home\"},{\"number\":\" 10010\",\"type\":\"fax\"}],\"sex\":\"male\",\"age\":25}\n";将Json格式的文件进行解析存入类中:
public class TestJson02 { public static void main(String[] args) { String str = "{\"firstName\":\"John\",\"lastName\":\"Smith\",\"address\":{\"streetAddress\":\"宝盛北里西区28号\",\"city\":\"北京\",\"postalCode\":\"100019\",\"state\":\"北京\"},\"phoneNumber\":[{\"number\":\" 10086\",\"type\":\"home\"},{\"number\":\" 10010\",\"type\":\"fax\"}],\"sex\":\"male\",\"age\":25}\n"; User user = parserUser(str); System.out.println(user.getFirstName()); System.out.println(user.getAddress().getStreetAddress()); System.out.println(user.getPhoneNumber().get(0).getNumber()); user.setFirstName("aaa"); System.out.println(toJSONString(user)); } private static User parserUser(String str) { JSONObject object = new JSONObject(str); User user = new User(); user.setFirstName(object.optString("firstName")); user.setLastName(object.optString("lastName")); user.setSex(object.optString("sex")); user.setAge(object.optInt("age")); JSONObject addressObj = object.optJSONObject("address"); Address address = new Address(); address.setStreetAddress(addressObj.optString("streetAddress")); address.setCity(addressObj.optString("city")); address.setState(addressObj.optString("state")); address.setPostalCode(addressObj.optString("postalCode")); user.setAddress(address); List<Phone> phones = new ArrayList<>(); JSONArray phoneNumber = object.optJSONArray("phoneNumber"); for (int i = 0; i < phoneNumber.length(); i++) { JSONObject numberObj = phoneNumber.optJSONObject(i); Phone phone = new Phone(); phone.setType(numberObj.optString("type")); phone.setNumber(numberObj.optString("number")); phones.add(phone); } user.setPhoneNumber(phones); return user; }}
0 0
- Json源生解析
- 【JSON解析】JSON解析
- 解析JSON
- Json解析
- JSON解析
- JSON解析
- json解析
- Json解析
- Json解析
- JSON解析
- Json解析
- Json解析
- JSON解析
- JSON解析
- json 解析
- Json解析
- JSON解析
- json解析
- 用JavaScript写一个类似于windows的气泡屏保效果
- 【u022】车的放置
- AndroidStudio监测工具Monitors介绍
- Mysql 主从出现故障
- Codeforces Round #362 (Div. 1) A. Lorenzo Von Matterhorn(map&LCA)
- Json源生解析
- wifi ip地址租约处理
- JAVA中的反射机制
- Bootstrap入门基础(六)
- [Android] 彻底了解Binder机制原理和底层实现
- NSLog各种打印
- bzoj 1020 计算几何
- ZooKeeper web管理安装node-zk-browser
- 百度云测试中心_如何开展持续集成(四)|持续集成之追求极致