fastjson 解析前台字符串(JSONObject && JSONArray)

博客介绍了JSON数据转换的基本规范,包括Object转JSON字符串、JSON字符串转JSONObject、JSON字符串转Object对象以及无泛型集合转指定类型集合等。强调JSON字符串需为键值对形式。还提及了在Spring Boot中的使用及测试示例,并给出相关引用链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本规范

#####Object转JSON字符串:
String jsonStr = JSONObject.toJSONString(object);
#####JSON字符串转JSONObject:

JSONObject jsonObject = JSONObjcet.parseObject(jsonStr);

#####JSON字符串转Object对象


T t = JSON.parseObject(jsonStr,T.class);

#####将无泛型集合转为指定类型集合


String jsonString = JSONObject.toJSONString(list);
List<T> list = JSON.parseArray(jsonString,T.class);

-----注:JSON字符串是有格式要求的,必须为键值对形式,不是任意的字符串。-----

原文链接:https://blog.youkuaiyun.com/qq_29468573/article/details/82190005

在springboot中使用

     @ResponseBody
    @RequestMapping(value = "/deleteUser", method = RequestMethod.POST)
     public CommonResponse deleteUser(HttpServletRequest request) {

        //将json字符串解析成JSONObject 对象
        JSONObject jsonObject = JSONObject.parseObject(request);
        //获取json里面的数据
        Integer id = jsonObject.getInteger("id");
        Integer companyId = jsonObject.getInteger("companyId");
        //再进行下一步处理

}

测试示例
引用于 https://www.jianshu.com/p/a63b57a766c9

package test;

import java.util.Iterator;

import org.junit.Test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class FastJsonDemo {
   
   @Test
   public void testFastJson() {
       // json格式的字符串
       String jsonStr = "{\r\n" + "\"name\":\"jarWorker\",\r\n" + "\"sex\":\"男\",\r\n" + "\"age\":26,\r\n"
               + "\"love\":[{\"hobby\":\"足球\",\"color\":\"White\"},{\"hobby\":\"篮球\",\"color\":\"Brown\"},{\"hobby\":\"简书\",\"color\":\"Yellow\"}],\r\n"
               + "\"goodAt\":\"Java\"\r\n" + "}";

       Object jsonObj = JSON.toJSON(jsonStr);
       System.out.println("toJSON>>>" + jsonObj);
       System.out.println("——————————————————————————————————");
       Object jsonParse = JSON.parse(jsonStr);
       System.out.println("parse>>>" + jsonParse);
       System.out.println("——————————————————————————————————");
       String jsonString = JSON.toJSONString(jsonStr);
       System.out.println("jsonString>>>" + jsonString);
       System.out.println("——————————————————————————————————");

       JSONObject jsonObject = JSON.parseObject(jsonStr);// json对象
       String name = jsonObject.getString("name");
       String sex = jsonObject.getString("sex");
       String age = jsonObject.getString("age");
       String goodAt = jsonObject.getString("goodAt");

       System.out.println("name====" + name);
       System.out.println("sex====" + sex);
       System.out.println("age====" + age);
       System.out.println("goodAt====" + goodAt);

       String love = jsonObject.getString("love");
       JSONArray jsonArray = JSON.parseArray(love);// json数组对象
       String ArrayStr=JSONArray.toJSONString(jsonArray);
       System.out.println("ArrayStr====" + ArrayStr);
       System.out.println("——————————————————————————————————");
       int count = 0;// 测试用
       Iterator<Object> it = jsonArray.iterator();// 使用Iterator迭代器
       while (it.hasNext()) {
           // 遍历数组
           JSONObject arrayObj = (JSONObject) it.next();// JSONArray中是很多个JSONObject对象
           String hobby = arrayObj.getString("hobby");
           String color = arrayObj.getString("color");
           count++;
           System.out.println("hobby>>>" + hobby);
           System.out.println("color>>>" + color);
           System.out.println("------------------------------------");
       }
       System.out.println("数组中的JSONObject个数:" + count);
   }
}
Java Fastjson是一个高性能的JSON解析库,它提供了简洁而灵活的API,方便我们解析JSON数组字符串。 使用Fastjson解析JSON数组字符串的方法如下: 首先,我们需要导入Fastjson库,可以从官方网站下载Fastjson的JAR文件,然后将其添加到项目的依赖中。 接下来,我们可以使用Fastjson提供的API来解析JSON数组字符串。我们可以通过`JSONArray.parseArray()`方法将JSON数组字符串解析为一个Java List对象,代码示例如下: ```java import com.alibaba.fastjson.JSONArray; public class JsonArrayParser { public static void main(String[] args) { String jsonArrayStr = "[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":20}]"; // 解析JSON数组字符串 JSONArray jsonArray = JSONArray.parseArray(jsonArrayStr); // 遍历数组元素 for (Object obj : jsonArray) { // 获每个JSON对象的属性值 String name = ((JSONObject) obj).getString("name"); int age = ((JSONObject) obj).getIntValue("age"); // 打印结果 System.out.println("姓名:" + name + ",年龄:" + age); } } } ``` 在上述代码中,我们首先定义了一个JSON数组字符串`jsonArrayStr`,然后使用`JSONArray.parseArray()`方法将其解析为一个JSONArray对象。 接下来,我们可以使用`for`循环遍历JSONArray中的每个元素。通过强制类型转换将每个元素转换为JSONObject,然后通过`.getString()`和`.getIntValue()`方法获每个JSON对象的属性值。 最后,我们可以对获的属性值进行适当的处理,如打印输出,存入数据库等。 总结来说,使用Fastjson解析JSON数组字符串主要是借助`JSONArray.parseArray()`方法将JSON数组字符串解析JSONArray对象,然后通过遍历JSONArray每个JSON对象的属性值进行相应的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值