java json转换笔记

本文提供多个Java中操作JSON数据的示例,包括从JSON字符串中提取特定键的值、将不同数据类型转换为JSON格式的方法等,并解决了使用过程中常见的依赖问题。

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

例子1 Java取出json字符串中某一key的值

import com.alibaba.fastjson.JSONObject;
public class JsonTest {
	public static void main(String[] args) {
		// json串(以自己的为准)
		String str = "{"id":"75","shoppingCartItemList":[{"id":"407","num":"10"}]}";
		JSONObject jsonObject = JSONObject.parseObject(str);
		// 获取到key为shoppingCartItemList的值
		String r = jsonObject.getString("shoppingCartItemList");
		System.out.println(r);
}

例子2 数据格式转换

package com.itheima.com.itheima.jsonlib;

import com.itheima.domain.Province;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Demo {

    @Test
    //数组
    public void f1() {
        String[] arr = {"aaa", "bbb", "cc"};
        JSONArray json = JSONArray.fromObject(arr);
        System.out.println(json); //["aaa","bbb","cc"]
    }

    @Test
    //list
    public void f2() {
        List<String> list = new ArrayList<>();
        list.add("11");
        list.add("22");
        list.add("33");
        JSONArray json = JSONArray.fromObject(list);
        System.out.println(json); //["11","22","33"]
    }

    @Test
    //bean
    public void f3() {
        Province pro = new Province();
        pro.setName("北京");
        pro.setProvinceid(1);
        JSONObject json = JSONObject.fromObject(pro);
        System.out.println(json); //{"name":"北京","provinceid":1}
    }

    @Test
    //map
    public void f4() {
        Map<String, Object> map = new HashMap<>();
        map.put("username", "tom");
        map.put("age", 18);
        JSONObject json = JSONObject.fromObject(map);
        System.out.println(json); //{"age":18,"username":"tom"}
    }

    @Test
    //list里面放bean
    public void f5() {
        List<Province> list = new ArrayList<>();
        list.add(new Province(1, "bj"));
        list.add(new Province(2, "tj"));
        list.add(new Province(3, "nj"));
        list.add(new Province(4, "dj"));
        JSONArray json = JSONArray.fromObject(list);
        System.out.println(json); //[{"name":"bj","provinceid":1},{"name":"tj","provinceid":2},{"name":"nj","provinceid":3},{"name":"dj","provinceid":4}]
    }
}


JSON字符串转换为Map

##遇到的问题
有时候使用JSONObject的时候出现
java.lang.ClassNotFoundException:org.apache.commons.lang.exception.NestableRuntimeException

网上查了一下发现在使用JSON的使用的时候,不光要导入JSON这个包,同时还要导入另外三个包
总之,共需要下面的 jars,json-lib方可使用:
commons-beanutils-1.7.0.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar
json-lib-1.1-jdk15.jar
链接:https://pan.baidu.com/s/1IZ5hadMxLDnzLricTqYNQQ 密码:qx6n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值