java解析器之Json解析
来源:互联网 发布:数据库第五版答案 编辑:程序博客网 时间:2024/05/21 17:26
package sample.org.jasen.learn10.testJson;
import sample.org.json.JSONArray;
import sample.org.json.JSONObject;
public class TestJson {
public static void main(String[] args) {
JSONObject object = new JSONObject();
object.put("firstName","John");
object.put("lastName","Jack");
object.put("age",13);
object.put("sex","male");
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);
}
}
运行结果:{"firstName":"John","lastName":"Jack","address":{"streetAddress":"宝盛北里西区28号","city":"北京","postalCode":"100019","state":"北京"},"phoneNumber":[{"number":" 10086","type":"home"},{"number":" 10010","type":"fax"}],"sex":"male","age":13}
解析代码:
package sample.org.jasen.learn10.testJson;
import sample.org.json.JSONArray;
import sample.org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class TestJson2 {
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(toJSONString(user));
}
private static String toJSONString(User user){//将对象转化成Json格式
JSONObject object = new JSONObject();
object.put("firstName",user.getFirstName());
object.put("lastName",user.getLastName());
JSONObject object1 = new JSONObject();
Address address = new Address();
object1.put("streetAddress",address.getStreetAddress());
object1.put("city",address.getCity());
JSONArray objects = new JSONArray();
List phonelist = user.getPhonelist();
for (Phone p:
phonelist) {
JSONObject object2 = new JSONObject();
object2.put("type",p.getType()).put("number",p.getNum());
objects.put(object2);
}
object.put("phoneNumber",objects);
return object.toString();
}
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.setAge(object.optInt("age"));
JSONObject object1 = object.optJSONObject("address");
Address address = new Address();
address.setStreetAddress(object1.optString("streetAddress"));
address.setCity(object1.optString("city"));
address.setPostalCode(object1.optString("postalCode"));
address.setState(object1.optString("state"));
user.setAddress(address);
List phones = new ArrayList<>();
JSONArray phoneNumber = object.optJSONArray("phoneNumber");
for (int i = 0; i < phoneNumber.length(); i++) {
JSONObject object2 = phoneNumber.optJSONObject(i);
Phone phone = new Phone();
phone.setNum( object2.optString("type"));
phone.setType( object2.optString("number"));
phones.add(phone);
}
user.setPhonelist(phones);
return user;
}
}
0 0
- java解析器之Json解析
- JSON 之JAVA 解析
- JSON 之JAVA 解析
- JSON 之JAVA 解析
- java实现JSON解析器
- iOS解析之Json解析
- json解析之gson解析
- JSON解析之原生解析
- JSON解析之手动解析
- java解析ajax之json字符串
- JAVA JSON解析:类XPATH解析JSON
- 数据格式之解析Json
- android之Json解析
- JSon解析之JSonKit
- JSON 之FastJson解析
- JSON解析之-Gson
- Android之JSON解析
- JSON 之FastJson解析
- java经典算法之冒泡排序
- java中XML解析器之pull解析
- java解析器之Gson解析简单应用
- java中length,length(),size()的…
- java中集合的详细讲解(总结篇)
- java解析器之Json解析
- java中将一组人分两组,求其两组重…
- 经典算法之鸡尾酒排序
- java中重写TreeMap的add和remove方…
- java中IO流总结
- java中时间格式化的方法
- 在Unity快速修改方向控制键位
- 利用URL下载
- Andriod Studio中出现找不到…