`
fehly
  • 浏览: 248411 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Json将对象转换成字符串

    博客分类:
  • java
阅读更多

     最近用到Json传输对象交互,整理一个简单的方法.

     这样就可以通过把对象转换成字符串,再把字符串解析成对象,进行数据的交互了...

     用到的jar为

     antlr-2.7.6.jar

     和jsontools-core-1.7.jar

 

public class Person {
	private int id=10;
	private String name="张三";
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}
 
import java.io.StringReader;
import com.sdicons.json.mapper.JSONMapper;
import com.sdicons.json.mapper.MapperException;
import com.sdicons.json.model.JSONValue;
import com.sdicons.json.parser.JSONParser;

public class VOUtils {
	
	/**
	 * 将一个对象转换为JSON格式的串
	 * @param vo 要转换的VO对象
	 * @return 转换后的字符串
	 */
	public static String convertVO2String(Object vo){
		
		try {
			return JSONMapper.toJSON(vo).render(false);
		} catch (MapperException e) {
			throw new RuntimeException("把对象【"+vo+"】转换为字符串的时候出现问题了",e);
		}
		
	}
	
	/**
	 * 将一个JSON格式的字符串转换为Java对象
	 * @param message 要转换的JSON格式的字符串
	 * @param destClass 要将这个JSON格式的字符串转换为什么类型的对象
	 * @return 转换之后的Java对象
	 */
	public static Object convertString2VO(String message,Class destClass){
		
		try {
			//先解释字符串为一个JSONValue
			JSONValue value = new JSONParser(new StringReader(message)).nextValue();
			return JSONMapper.toJava(value, destClass);
		} catch (Exception e) {
			throw new RuntimeException("在把字符串【"+message+"】转换为【"+destClass+"】类型的对象时,出现异常" +
					",可能是你的字符串格式不对,请修正!",e);
		}
	}
	public static void main(String[] args) {
		Person  p =new Person();
		String s=convertVO2String(p);
		System.out.println(convertVO2String(p));
		Person p2=(Person)convertString2VO(s,Person.class);
		System.out.println(p2.getName());
	}
}

    输出

{"id":10,"name":"张三"}
张三
分享到:
评论
2 楼 fehly 2012-09-10  
jasonjenny 写道
请问你把jar包导入到工程里运行后,有没有遇到 Caused by: java.lang.VerifyError: com.sdicons.json.mapper.helper.impl.ObjectMapper这样的错误,我的怎么跑不起来呢?

Hi,可以跑起来的,刚才我测试了下,把测试工程也传了上来,你可以参考下,我这里没有问题
1 楼 jasonjenny 2012-09-10  
请问你把jar包导入到工程里运行后,有没有遇到 Caused by: java.lang.VerifyError: com.sdicons.json.mapper.helper.impl.ObjectMapper这样的错误,我的怎么跑不起来呢?

相关推荐

    Json对象与json字符串互相转换处理工具

    Json对象与json字符串互相转换处理工具

    使用json-lib将java对象转换成json字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    由php对象生成json字符串 把php对象变成json字符串.zip

    在PHP中,将PHP对象转换成JSON(JavaScript Object Notation)字符串是一项常见的任务,尤其是在进行Web开发时,因为JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送数据,并在客户端进行解析。...

    java对象转换为json字符串或字符串数组

    在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    json2.js 字符串转转json对象工具

    2. `JSON.stringify()`方法则相反,它将JavaScript对象转换为JSON字符串。这对于需要将数据发送到服务器或者存储在本地(如localStorage)时非常有用。例如,`JSON.stringify({name: "John", age: 30})`会返回字符串...

    模仿json,根据对象生成json字符串,根据字符串生成对象

    一个JSON对象以大括号`{}`包围,其内部由键值对组成,键用双引号`""`包裹,值可以是字符串、数字、布尔值、数组、null或另一个JSON对象。数组则用方括号`[]`表示,元素之间用逗号分隔。 生成JSON字符串通常涉及两个...

    json字符串转换c++类对象

    总的来说,将JSON字符串转换为C++类对象需要选择合适的JSON库,设计类结构来映射JSON键值,解析JSON字符串,并利用库提供的功能将JSON对象转换为C++对象。在实际应用中,还需要注意错误处理和适应各种复杂的JSON结构...

    js中的json对象和字符串之间的转化

    2. **字符串与JSON对象之间的转化**:JavaScript提供了两个内置函数来实现这种转化:`JSON.stringify()`用于将JavaScript对象转换为JSON字符串,`JSON.parse()`用于将JSON字符串转换回JavaScript对象。 **描述中的...

    C# json格式解析,Json格式字符串与C#对象相互转换,类库+使用案例,注释详细

    C# json格式转换,Json格式字符串与C#对象相互转换,类库和测试demo .../// Dictionary类型对象转换为Json格式字符串 /// C#对象转换为Json格式字符串 /// 进行简单的转义处理。只处理 \ 和 " /// 识别Json中的值

    复杂JSON格式对象转化成字符串工具包

    这个主要是运用在ajax里面向服务器传送复杂格式的json,如何在后台进行转化,很好用!

    asp字符串转json对象类

    在VBScript中,对象的属性通常通过"obj.property"的方式访问,但根据描述,这里的JSON对象转换后,其属性需要通过"obj("name")"的方式访问,这意味着转换后的对象不是标准的VBScript Collection或Dictionary对象,...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    要将这个`User`对象转换成`JSONObject`,我们可以使用`JSONObject.fromObject()`方法: ```java User user = new User(); user.setName("John"); user.setAge(30); JSONObject jsonObject = JSONObject.fromObject...

    将json字符串转换为对象

    标题提到的“将json字符串转换为对象”,实际上是在指JSON.parse()方法,这个方法在JavaScript中用于将一个合法的JSON字符串转化为JavaScript对象。例如,我们有一个如下的JSON字符串: ```json let jsonString = '...

    C++对象生成json字符串、json字符串解析为C++对象、json字符串文件保存于读取源代码jsontest.rar

    封装jsonbase类,抽象C++对象与json字符的转换的基本方法tojson、fromjson,以及json字符保存为文件StyledStreamWriter,从文件中读取json字符串并转换成C++对象fromFile。以学生类、学生选择的课程类、最终生成的...

    提供将对象转换成JSON字符串的方法 (2).pdf

    标题中的“提供将对象转换成JSON字符串的方法 (2).pdf”指的是一个关于如何在Java编程中将对象转换为JSON格式的文档。描述中提到的是这个文档的更新日期和作者信息。标签“互联网”可能暗示了这个方法在Web开发或者...

    C实现的 json格式字符串与结构体转化

    通过这些函数,我们可以根据结构体的定义,逐个将成员的值插入到JSON对象中,最终生成表示结构体的JSON字符串。 在实际应用中,这个功能可能涉及以下步骤: 1. 定义C结构体:首先,我们需要定义一个C结构体,其...

    C语言实现的 json格式字符串与结构体自动相互转化

    反之,将结构体转化为JSON字符串则是将结构体中的数据转换为JSON格式的文本,便于在网络间传递或存储。 关于“反射”这一概念,在许多面向对象的语言中,反射允许程序在运行时检查和修改其自身的结构和行为。在...

    解析Json字符串直接转换为对象(包括多层List集合 嵌套)所用jar包

    标题和描述提及的是将JSON字符串转换为Java对象,特别是涉及多层嵌套和List集合的情况。这在处理复杂数据结构时非常常见,比如服务器返回的响应可能包含嵌套的对象和数组。下面我们将详细介绍如何使用Jackson库来...

Global site tag (gtag.js) - Google Analytics