(精)字符串,map -> json对象->map(初学者必读)

 1 import java.util.LinkedList;
 2 import java.util.*;
 3 import java.util.ListIterator;
 4 
 5 import net.sf.json.JSONArray;
 6 import net.sf.json.JSONObject;
 7 
10 public class a11111111 {
11      public static void main(String[] args) {
12          
13             JSONObject obj=new JSONObject();
14             obj.put("name", "小明");
15             obj.put("age", "10");
16             //输出json对象这种数据结构是:{"name":"小明","age":"10"}
17             JSONArray jsonobj = JSONArray.fromObject(obj);    对象转数组
18             //[{"name":"小明","age":"10"}]
19             
20             //数组
21             JSONArray array=new JSONArray();
22             array.add("1");
23             array.add("2");
24             array.add("3");
25             array.add(3,obj);
26             //["1","2","3",{"name":"小明","age":"10"}]
27             
         //字符串 28 String str ="{name:Tom,age:10}" ; // 不可以这样定义str 29 String str1 = "{"name": "小明","age": 10 }"; 30
        //MAP 31 Map<String, Object> map = new HashMap<String, Object>(); 32 map.put("1001", "yes");//map里面装有yes 33 map.put("1002", array);//map里面装有yes 34 // {1002=["1","2","3",{"name":"小明","age":"10"}], 1001=yes} 35 36 37 //数组不可转对象 38 // JSONObject jsonobj = JSONObject.fromObject(array); 39 JSONObject jsonobj0 = JSONObject.fromObject(array.get(3));//字符串转对象 40 JSONObject jsonobj1 = JSONObject.fromObject(str1); 41 JSONObject jsonobj2 = JSONObject.fromObject(map);//map转对象 42 System.out.println(jsonobj0); 43 System.out.println(jsonobj1); 44 System.out.println(jsonobj2); 45 46 /*{"name":"小明","age":"10"} 47 {"name":"小明","age":10} 48 {"1002":["1","2","3",{"name":"小明","age":"10"}],"1001":"yes"} */ 49
 //都是输出:小明 50 System.out.println(jsonobj0.get("name")); 51 System.out.println(jsonobj1.get("name")); 53 JSONArray str_ = JSONArray.fromObject(jsonobj2.get("1002"));//字符串转数组 54 System.out.println(JSONObject.fromObject(str_.get(3)).get("name")); 55      //字符串再转对象
       System.out.println(str_.get(3).equals(jsonobj0));//true 56 //内容相容,但一个是对象 一个是字符串 拥有的方法不同 57


//所有的先转成json对象-然后再转成map
HashMap<String, Object> data = new HashMap<String, Object>(); 58 Iterator it = jsonobj0.keys(); 59 // 遍历jsonObject数据,添加到Map对象 60 while (it.hasNext()) 61 { 62 String key = (String)it.next(); 63 String value = (String) jsonobj0.get(key); 64 data.put(key, value); 65 } 66 System.out.println(data); 67 //map {name=小明, age=10} 68 69 70 /*所有的obj调用toString()方法转成字符串*/ 71 75 // java中数据结构可以直接按名输出,也可以数据结构名.toString输出
字符串转数组
原文地址:https://www.cnblogs.com/cs-lcy/p/6985006.html