ClassT clazz) { 2 return parseObject(text
JSON.parseArray():
这个要领的感化就是将json格局的数据转换成数组格局。
假设有Person这个类,有json类型数据jsonStr = [{"name":"张三","age":"1"},{"name":"李四","age":"4"}],那么List lists = json.parseArray(jsonStr, Person.class);lists就可以接收jsonStr了
源码解析:
1 public static <T> List<T> parseArray(String text, Class<T> clazz) { 2 if (text == null) { 3 return null; 4 } 5 6 List<T> list; 7 8 DefaultJSONParser parser = new DefaultJSONParser(text, ParserConfig.getGlobalInstance()); 9 JSONLexer lexer = parser.getLexer(); 10 if (lexer.token() == JSONToken.NULL) { 11 lexer.nextToken(); 12 list = null; 13 } else { 14 list = new ArrayList<T>(); 15 parser.parseArray(clazz, list); 16 17 parser.handleResovleTask(list); 18 } 19 20 parser.close(); 21 22 return list; 23 }
JSON.parseObject();
是将str转化为相应的JSONObject东西,此中str是“键值对”形式的json字符串,转化为JSONObject东西之后就可以使用其内置的要领,进行各类措置惩罚惩罚了。
1 public static <T> T parseObject(String text, Class<T> clazz) { 2 return parseObject(text, clazz, new Feature[0]); 3 }
JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别
按照源码显示:JSON是一个抽象类,JSON中有一个静态要领parseObject(String text),将text解析为一个JSONObject东西并返回;JSONObject是一个担任自JSON的类,当挪用JSONObject.parseObject(result)时,,会直接挪用父类的parseObject(String text)。所以两者没什么区别,一个是用父类去挪用父类本身的静态的parseObject(String text),一个是用子类去挪用父类的静态parseObject(String text),两者调的是同一个要领。
JSON.par搜索引擎优化bject()和JSON.parseArray()区别
标签:
原文地点:https://www.cnblogs.com/hank-hush/p/12114245.html
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32776.html