复杂json的转换 Map 数组 对象 生成 与 解析

本文介绍了一种使用Java创建和解析JSON数据的方法。通过具体示例,展示了如何利用 Alibaba的fastjson库来序列化和反序列化包含数组及自定义对象的复杂JSON结构。此外,还提供了一个简单的Articlecontent类,用于演示对象与JSON之间的转换过程。

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

json格式如下:

{
	"str":["1","2","3","5"],
	"articlecontent":
		{
		 "article_content":"啊是就",
		 "article_id":"4sadad"
		 }
	}

代码

import haust.vk.entity.Articlecontent;

import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSON;

public class CreateJson {
	public static void main(String[] args) {
		Map map = new HashMap();
		String[] str = new String[]{"1","2","3","5"};
		map.put("str", str);
		Articlecontent articlecontent = new Articlecontent();
		articlecontent.setArticle_content("啊是否了解啊放假啊水立方拉萨解放拉萨就");
		articlecontent.setArticle_id("4sadad");
		map.put("articlecontent", articlecontent);
		System.out.println(JSON.toJSONString(map));
		String str1 = JSON.toJSONString(map);
		Map parseObject = JSON.parseObject(str1, Map.class );
		System.out.println(parseObject);
		Object object = parseObject.get("str");
		System.out.println(object);
		//["1","2","3","5"]
		String substring = object.toString().substring(1,object.toString().length()-1).replace("\"", "");
		System.out.println(substring.split(",")[0]);
		Object object2 =  parseObject.get("articlecontent");
		System.out.println(object2);
		Articlecontent parseObject2 = JSON.parseObject(object2.toString(), Articlecontent.class);
		System.out.println(parseObject2.toString());
	}
}

使用到的Articlecontent对象如下:

public class Articlecontent {
	private String article_id;
	private String article_content;
	
	public Articlecontent() {}

	public String getArticle_id() {
		return article_id;
	}

	public void setArticle_id(String article_id) {
		this.article_id = article_id;
	}

	public String getArticle_content() {
		return article_content;
	}

	public void setArticle_content(String article_content) {
		this.article_content = article_content;
	}

	@Override
	public String toString() {
		return "Articlecontent [article_id=" + article_id
				+ ", article_content=" + article_content + "]";
	}
	
}

 

转载于:https://my.oschina.net/viakiba/blog/845892

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值