获取json字符串中指定属性值的几种方法

本文介绍了使用Java处理JSON字符串的两种流行方法:通过引入阿里巴巴的fastjson和net.sf.json-lib依赖包,实现从JSON字符串中提取指定属性值。文章详细展示了如何利用这些库将JSON字符串转换为Java对象,并提供了具体代码示例。

获取json字符串中指定属性值的几种方法

 一、引入阿里巴巴的json依赖包

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.9</version>
</dependency>
import com.alibaba.fastjson.JSONObject;

public class App{
    public static void main( String[] args ){

    	String params="{\"channelCode\":\"bbb\",\"accountNo\":\"121300000932\",\"message\":\"字符信息解密成功\",\"status\":\"1\"}";
    	
    	JSONObject pa=JSONObject.parseObject(params);

        //可以使用parseObject(params,Class<T> clazz)直接转换成需要的Bean
    	System.out.println(pa.getString("message"));
    }
}

代码:

1.parseObject详解

 JSON.parseObject(String jsonStr)是将jsonStr转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象之后就可以使用内置方法进行各种处理了。

JSON.parseObject 的时候,会去填充名称相同的属性。对于Json字符串中没有,而model类有的属性,会为null;对于model类没有,而Json字符串有的属性,不做任何处理。

 2.JSON.parseObject与JSONObject.parseObject的关系

JSON是一个抽象类,JSON中有一个静态方法parseObject(String text),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(String text),所以调用的是同一个方法。

3.JSON.parseArray

转换成对应的List集合

List<Student> parseArray = JSON.parseArray(studentJsonStr, Student.class);

二、引入net.sf.json-lib依赖包

<dependency>
  <groupId>net.sf.json-lib</groupId>
  <artifactId>json-lib</artifactId>
  <version>2.4</version>		 
  <classifier>jdk15</classifier>
</dependency>

代码:

import net.sf.json.JSONObject;
 
public class NetJson {
 
	public static void main(String[] args) {
 
    	String params="{\"channelCode\":\"ccy\",\"accountNo\":\"121300000932\",\"message\":\"字符信息解密成功\",\"status\":\"1\"}";
    	JSONObject pa=JSONObject.fromObject(params);
    	String accountNo=pa.getString("accountNo");
    	System.out.println(accountNo);
	}
 
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值