public static void main(String[] args) {
String jsonString ="{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"10371443@qq.com\"}";
JSONObject json = JSONObject.fromObject(jsonString);
User user = new User();
user.setName(json.getString("name"));
user.setPassword(json.getString("password"));
user.setEmail(json.getString("email"));
System.out.println(user.toString());
}
String json = <span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">"[{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"10371443@qq.com\"},</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">{\"name\":\"lisi\",\"password\":\"lisi123\",\"email\":\"1435123@qq.com\"}</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">]"</span>;
JSONArray jsonArray = JSONArray.fromObject(json);
ArrayList<User> users = new ArrayList<User>();
for (int i = 0; i < jsonArray.size(); i++) {
User userM = new User();
user.setName(jsonArray.getJSONObject(i).getString("name"));
user.setpassword(jsonArray.getJSONObject(i).getString("password"));
user.setEmail(jsonArray.getJSONObject(i).getString("email"));
users.add(user);
}
for (User user : users) {
System.out.println(user.toString());
}
String st = "{\"translation\":[\"愛\"],\"basic\":{\"us-phonetic\":\"l?v\",\"phonetic\":\"l?v\",\"uk-phonetic\":\"l?v\",\"explains\":[\"n. 戀愛;親愛的;酷愛;喜愛的事物\",\"vt. 喜歡;熱愛;愛慕\",\"vi. 愛\",\"n. (Love)人名;(英)洛夫\"]},\"query\":\"love\",\"errorCode\":0,\"web\":[{\"value\":[\"愛情\",\"愛\",\"愛\"],\"key\":\"Love\"},{\"value\":[\"無盡的愛\",\"藍色生死戀\",\"不了情\"],\"key\":\"Endless Love\"},{\"value\":[\"早戀\",\"青春期戀愛\",\"初戀\"],\"key\":\"puppy love\"}]}";
JSONObject str = JSONObject.fromObject(st); //json數據的最外層肯定是一個對象,參數為字符串
//對象str又分為3部分:translation,basic,web
if(str.has("translation")){
JSONArray tr = str.getJSONArray("translation"); //translation是一個json數組
for(int i = 0 ;i<tr.size();i++){ //對數組元素進行遍歷
System.out.println(tr.getString(i)); //因為元素的值是String類型的所以忽的值的方法是getString(index)
}
}
//basic中有數組也有元素
if(str.has("basic")){
JSONObject us = str.getJSONObject("basic"); //對元素進行解析,并輸出元素的值
System.out.print("美:[" + us.getString("us-phonetic") + "]\t");
JSONObject uk = str.getJSONObject("basic");
System.out.print("英:[" + us.getString("uk-phonetic") + "]\n");
JSONObject basic = str.getJSONObject("basic"); //先獲得basic對象
JSONArray explain = basic.getJSONArray("explains"); //再獲得basic對象下的explains數組
for(int i = 0;i<explain.size(); i++){ //對數組元素進行遍歷
System.out.println(explain.getString(i));
}
}
if(str.has("web")){ //web是一個數組,每個數組元素又是三個Json對象
System.out.println("拓展:");
JSONArray web = str.getJSONArray("web");
for(int i = 0; i<web.size() ; i++ ){ //但是對象中又嵌套著數組
String t = web.getString(i); //遍歷過程將web數組元素賦給String型變量
JSONObject we = JSONObject.fromObject(t); //通過String又得到每個元素的對象
if(we.has("key")){
System.out.print(we.getString("key")+"\t"); //得到對象中的元素
}
if(we.has("value")){
JSONArray value = we.getJSONArray("value");
for(int x = 0 ; x<value.size() ;x++ ){ //遍歷對象中嵌套的數組
System.out.print(value.getString(x)); //得到數組元素的值
if(x<value.size()-1){
System.out.print(";");
}
}
}
System.out.println();
}
}
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一個未轉化的字符串
JSONArray json = JSONArray.fromObject(str ); // 首先把字符串轉成 JSONArray 對象
if(json.size()>0){
for(int i=0;i<json.size();i++){
JSONObject job = json.getJSONObject(i); // 遍歷 jsonarray 數組,把每一個對象轉成 json 對象
System.out.println(job.get("name")+"=") ; // 得到 每個對象中的屬性值
}
}
public class JsonExtracter {
public static void main(String[] args) {
String s = "{\"name\":\"a\",\"family\":[\"張三\",\"李四\"]}";
JSONObject jsonObject = JSON.parseObject(s);
//注意:family中的內容帶有中括號[],所以要轉化為JSONArray類型的對象
JSONArray family = jsonObject.getJSONArray("family");
for (int i = 0; i < family.size(); i++) {
//提取出family中的所有
String s1 = (String) family.get(i);
System.out.println("currentFamily:" + s1);
}
}
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網友會為你解答??! 點擊進入論壇