Android进步之十四:使用jackon的ObjectMapper的writeValueAsString方法可以把java对象转化成json字符串

如何把java对象转化成json字符串并打印出来呢?

这里就用到了jackon的jar包,使用writeValuesAsString的方法就可以把对角转化成json字符串。

下面通过一个demo,来仔细体会下如何去转化!

1:先建一个javaBean。

package com.sino.objectmapperdemo;

public class BaseObject {
	private String userName;
	private String userCode;
	private double weight;
	private int height;
	private boolean sex;
	private String[] array;
	private BaseObject innerBaseObject;
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserCode() {
		return userCode;
	}
	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}
	public double getWeight() {
		return weight;
	}
	public void setWeight(double weight) {
		this.weight = weight;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public boolean isSex() {
		return sex;
	}
	public void setSex(boolean sex) {
		this.sex = sex;
	}
	public String[] getArray() {
		return array;
	}
	public void setArray(String[] array) {
		this.array = array;
	}
	public BaseObject getInnerBaseObject(){
		return innerBaseObject;
	}
	public void setInnerBaseObject(BaseObject innerBaseObject){
		this.innerBaseObject = innerBaseObject;
	}
	
	
}


2:在MainActivity中,对其进行赋值和转化操作,并打印出来。

package com.sino.objectmapperdemo;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
/**
 * 使用jackon的ObjectMapper的writeValueAsString方法可以把java对象转化成json字符串
 * 输出的结果是:{"array":["80","90","95"],"height":170,"innerBaseObject":{"array":["65","68","75"],
 * "height":171,"innerBaseObject":null,"userCode":"2号","userName":"李四","weight":75.5,"sex":true},
 * "userCode":"1号","userName":"张三","weight":65.5,"sex":true}
 * 
 */
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	try {
		ObjectMapper objectMapper = new ObjectMapper();
//		ArrayList list = new ArrayList();
//		Map<String,Object> map = new HashMap<String,Object>();
		BaseObject object1 = new BaseObject();
		object1.setUserName("张三");
		object1.setUserCode("1号");
        object1.setWeight(65.5);
        object1.setHeight(170);
        object1.setSex(true);
        String[] score={"80","90","95"};
        object1.setArray(score);
        
        BaseObject object2=new BaseObject();  
        object2.setUserName("李四");
        object2.setUserCode("2号");
        object2.setWeight(75.5);
        object2.setHeight(171);
        object2.setSex(true); 
        score=new String[3];
        score[0]="65";
        score[1]="68";
        score[2]="75";
        object2.setArray(score);
//        object2成为object1的内部类
        object1.setInnerBaseObject(object2);
//        list.add(object1); 
//        map.put("baseObject", list);  
//        把对象转化成json字符串
		String json = objectMapper.writeValueAsString(object1);
		System.out.println(json);
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
       
		
	}


}

这里在lib下拷进了一个jar包,jackson-all-1.7.6.jar。把jar拷进去后,会自动Build path,如果没有执行此操作,则需要手动添加。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值