问题遭遇
- org.json:空值丢失
- org.json.simple:Object[] 解析不正确
预期结果:
[null,true,123,123.456,"","123asd'\"/\",[null],[true],[123],[123.456],[""],["123asd'\"/\"] ,[null],[true],[123],[123.456],[""],["123asd'\"/\"],{"0":null},{"0":true},{ "0":123},{"0":123.456},{"0":""},{"0":"123asd'\"/\"}]
org.json 的实际结果:缺少空值
[null,true,123,123.456,"","123asd'\"/\",[null],[true],[123],[123.456],[""],["123asd'\"/\"] ,[null],[true],[123],[123.456],[""],["123asd'\"/\"],{},{"0":true},{"0":123 },{"0":123.456},{"0":""},{"0":"123asd'\"/\"}]
org.json.sample 的实际结果:Object[] 未正确显示
[null,true,123,123.456,"","123asd'\"/\", [Ljava.lang.Object;@20ad9418,[Ljava.lang.Object;@31cefde0,[Ljava.lang.Object;@439f5b3d,[ Ljava.lang.Object;@1d56ce6a,[Ljava.lang.Object;@5197848c,[Ljava.lang.Object;@17f052a3 ,[null],[true],[123],[123.456],[""], ["123asd'\"/\"],{"0":null},{"0":true},{"0":123},{"0":123.456},{"0":"" },{"0":"123asd'\"/\"}]
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.simple.JSONValue;
public class Main {
public static void main(String[] args) {
Map map = new LinkedHashMap();
map.put(map.size(), null);
map.put(map.size(), true);
map.put(map.size(), 123);
map.put(map.size(), 123.0);
map.put(map.size(), 123.456);
map.put(map.size(), "");
map.put(map.size(), "123asd'\"/\\");
map.put(map.size(), new Object[]{null});
map.put(map.size(), new Object[]{true});
map.put(map.size(), new Object[]{123});
map.put(map.size(), new Object[]{123.0});
map.put(map.size(), new Object[]{123.456});
map.put(map.size(), new Object[]{""});
map.put(map.size(), new Object[]{"123asd'\"/\\"});
List list_temp = new LinkedList();
list_temp.add(null);
map.put(map.size(), list_temp);
list_temp = new LinkedList();
list_temp.add(true);
map.put(map.size(), list_temp);
list_temp = new LinkedList();
list_temp.add(123);
map.put(map.size(), list_temp);
list_temp = new LinkedList();
list_temp.add(123.0);
map.put(map.size(), list_temp);
list_temp = new LinkedList();
list_temp.add(123.456);
map.put(map.size(), list_temp);
list_temp = new LinkedList();
list_temp.add("");
map.put(map.size(), list_temp);
list_temp = new LinkedList();
list_temp.add("123asd'\"/\\");
map.put(map.size(), list_temp);
Map map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), null);
map.put(map.size(), map_temp);
map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), true);
map.put(map.size(), map_temp);
map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), 123);
map.put(map.size(), map_temp);
map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), 123.0);
map.put(map.size(), map_temp);
map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), 123.456);
map.put(map.size(), map_temp);
map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), "");
map.put(map.size(), map_temp);
map_temp = new LinkedHashMap();
map_temp.put(map_temp.size(), "123asd'\"/\\");
map.put(map.size(), map_temp);
List list = new LinkedList(map.values());
//println(new JSONObject(map).toString());
//println(JSONValue.toJSONString(map));
println(new JSONArray(list).toString());
println(JSONValue.toJSONString(list));
}
public static <T> void println(T p_t) {
System.out.println(p_t);
}
}