JSON.parseobject()和JSON.parseArray()区别

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),两者调的是同一个方法。

原文地址:https://www.cnblogs.com/hank-hush/p/12114245.html

时间: 2024-10-09 18:39:57

JSON.parseobject()和JSON.parseArray()区别的相关文章

JSON.parseObject 和 JSON.toJSONString

JSON.parseObject,是将Json字符串转化为相应的对象:JSON.toJSONString则是将对象转化为Json字符串.在前后台的传输过程中,Json字符串是相当常用的,这里就不多介绍其功能了,直接举一下应用的小例子,帮助理解这两个方法的用法. 首先用maven引入fastjson: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.ap

JSON.parse和eval的区别

JSON(JavaScript Object Notation)是一种轻量级的数据格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是Javascript原生格式,这意味着在javascript中处理JSON数据不需要任何特殊的API或工具包,而且效率非常高. 基本格式:varjsonData='{"data1":"Hello,","data2":"world!"}' 调用方法jsonData.data1

json和jsonp的使用区别

json和jsonp的使用区别 一.    跨域请求的概念 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象. 二.    json和jsonp JSON是一种基于文本的数据交换方式(不支持跨域),而JSONP是一种非官方跨域数据交互协议. 使用json格式传递数据的客户端代码如下: 1 $(function () { 2 var user = { 3 "username": "HelloWorld" 4 }; 5 6 $.ajax({ 7 ur

JSON.parse和eval的区别(转)

这几天刚好看到这里,记下来 JSON(JavaScript Object Notation)是一种轻量级的数据格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是Javascript原生格式,这意味着在javascript中处理JSON数据不需要任何特殊的API或工具包,而且效率非常高. 基本格式:varjsonData='{"data1":"Hello,","data2":"world!"}' 调用方法

JSON.parse与eval的区别

JSON.parse与eval和能将一个字符串解析成一个JSON对象,但还是有挺大区别. 测试代码 var A = "{ a: 1 , b : 'hello' }"; var B = "{ 'a': 1 , 'b' : 'hello' }"; var C = "{'a':1,'b':'hello'}"; var D = '{"a":1,"b":"hello"}'; var E = '{

J-Query开发锦集(0):JSON.parse()和JSON.stringify()区别

项目中我们经常会使用JSON字符串转换,而且很频繁.所以总结如下,很简单的代码. 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>JSON.parse()和JSON.stringify()区别</title> 6 <script type="text/javascrip

python json.load和json.loads的区别

load和loads都是实现"反序列化",区别在于(以Python为例): loads针对内存对象,即将Python内置数据序列化为字串 如使用json.dumps序列化的对象d_json=json.dumps({'a':1, 'b':2}),在这里d_json是一个字串'{"b": 2, "a": 1}' d=json.loads(d_json)  #{ b": 2, "a": 1},使用load重新反序列化为di

JSON字符串与JSON对象的区别

JSON字符串与JSON对象的区别 JSON字符串与JSON对象的区别 本篇文章是对javascript.js操作json方法总结 http://www.haorooms.com/post/js_jsons_h 这篇文章的补充说明,有朋友问JSON字符串与JSON对象的区别,下面说一下. JSON对象是直接可以使用JQuery操作的格式,和js中的对象一样,可以用对象(类名)点出属性(方法). JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只

JSON.parseObject笔记

关于JSON.parseObject使用记录 1.新建bean NewBean: public class NewBean{ private String name; private String age; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(String age){ this.age = age; } pu