遇到问题
预期结果:
[NULL,真实,123,123.456,""" 123asd' \" / \" [空],[TRUE],[123] [123.456],[""],[" 123asd' \" / \"],[空],[TRUE],[123], [123.456],[""],[" 123asd' \" / \&#34],{" 0":空}, {" 0":真},{" 0" 123},{" 0":123.456},{" 0":& #34;"},{" 0":" 123asd' \" / \"}]
org.json的实际结果:缺少空值
[NULL,真实,123,123.456,""" 123asd' \" / \" [空],[TRUE],[123] [123.456],[""],[" 123asd' \" / \"],[空],[TRUE],[123], [123.456],[""],[" 123asd' \" / \&#34],{},{" 0&#34 ;:真},{" 0" 123},{" 0":123.456},{" 0":""},{ " 0":" 123asd' \" / \"}]
org.json.sample的实际结果:对象[]无法正确显示
[NULL,真实,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 下,[空],[TRUE],[123],[123.456],[""],[" 123asd' \" / \& #34],{" 0":空},{" 0":真},{" 0" 123},{" 0& #34;: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);
}
}
答案 0 :(得分:0)
这两个库功能很差。他们为简单的案件做好了工作。
您的测试只是确定org.json
没有序列化Map
条目,其值null
且org.json.simple
没有特殊情况对于数组类型(因此默认为其toString()
方法返回值)。