java之JSON字符串和对象互转小例子

本文通过实例演示如何使用FastJSON库进行JSON对象和数组的创建、转换及序列化。介绍了如何将Java对象转换为JSON字符串,并从JSON字符串解析回Java对象。

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

     ajax请求数据,数据格式以json为准,越来愈广泛。在后台将对象构造成json格式的字符串,或者将json格式的字符串转为对象,如果手工来搞,不但麻烦,且容易出错.借助第三方jar来实现,更省事。下面写了个小例子测试了下。


  准备工作,下载架包:fastjson-1.1.15.jar


JSONTest.java

package com.fei.test;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fei.vo.Person;

public class JSONTest {

	public static void main(String[] args) {
	//	testCreateJSONObject();
	//	testCreateJSONArray();
		
		testJSONConverToPerson(testCreateJSONObject());
		
		testJSONArrayConverToPersons(testCreateJSONArray());
		
		testPersonConverToJSON();
	}
	
	private static String testCreateJSONObject(){
		JSONObject json = new JSONObject();
		json.put("id", "10001");
		json.put("name", "张三");
		json.put("age", 20);
		
		System.out.println("1.===============1=============");
		System.out.println(json.toJSONString());
		System.out.println(json.toString());
		
		return json.toJSONString();
	}
	
	private static String testCreateJSONArray(){
		JSONObject json1 = new JSONObject();
		json1.put("id", "10001");
		json1.put("name", "张三");
		json1.put("age", 20);
		
		JSONObject json2 = new JSONObject();
		json2.put("id", "10002");
		json2.put("name", "李四");
		json2.put("age", 21);
		
		JSONArray array = new JSONArray();
		array.add(json1);
		array.add(json2);
		
		System.out.println("2.===================2=============");
		System.out.println(array.toJSONString());
		System.out.println(array.toString());
		
		return array.toJSONString();
	}
	
	private static void testJSONConverToPerson(String jsonStr){
		Person p =(Person) JSON.parseObject(jsonStr, Person.class);
		System.out.println("3.===================3================");
		System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
	}
	private static void testJSONArrayConverToPersons(String jsonStr){
		List<Person> persons = JSON.parseArray(jsonStr, Person.class);
		for(Person p : persons){
			System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
		}
	}
	
	private static void testPersonConverToJSON(){
		Person p1 = new Person();
		p1.setId("0001");;
		p1.setName("张三");
		p1.setAge(18);
		
		Person p2 = new Person();
		p2.setId("0001");;
		p2.setName("李四");
		p2.setAge(18);
		
		System.out.println("4.==================4=============");
		System.out.println(JSON.toJSONString(p1));
		
		List<Person> persons = new ArrayList<Person>();
		persons.add(p1);
		persons.add(p2);
		
		System.out.println(JSON.toJSONString(persons));
		System.out.println(JSON.toJSONString(persons,true).toString());
	}
}

运行结果:

1.===============1=============
{"age":20,"id":"10001","name":"张三"}
{"age":20,"id":"10001","name":"张三"}
3.===================3================
10001	张三	20
2.===================2=============
[{"age":20,"id":"10001","name":"张三"},{"age":21,"id":"10002","name":"李四"}]
[{"age":20,"id":"10001","name":"张三"},{"age":21,"id":"10002","name":"李四"}]
10001	张三	20
10002	李四	21
4.==================4=============
{"age":18,"id":"0001","name":"张三"}
[{"age":18,"id":"0001","name":"张三"},{"age":18,"id":"0001","name":"李四"}]
[
	{
		"age":18,
		"id":"0001",
		"name":"张三"
	},
	{
		"age":18,
		"id":"0001",
		"name":"李四"
	}
]







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值