jackson demo

/*
 * Copyright (c) 2009-2014. 上海诺诺镑客 All rights reserved.
 * @(#) TripleTest.java 2014-10-27 16:47
 */

package com.nonobank.common.tuple;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;

import java.util.HashMap;

//import org.hamcrest.core.Is;
//import org.hamcrest.core.IsEqual;
//import org.hamcrest.core.IsInstanceOf;
//import org.hamcrest.core.IsNull;
import org.hamcrest.core.Is;
import org.hamcrest.core.IsEqual;
import org.hamcrest.core.IsInstanceOf;
import org.hamcrest.core.IsNull;
import org.junit.Test;

import com.fasterxml.jackson.core.type.TypeReference;
import com.nonobank.common.domain.MyTriple;
import com.nonobank.common.json.JsonMapper;

/**
 * {@link Triple} test case.
 *
 * @author fuchun
 */
public class TripleTest {

    @Test
    public void testJsonProperty() throws Exception {
        Triple<Short, Integer, Long> nt =
                Triple.of((short) 1, 2, 3L);
        String numTripleJson = JsonMapper.getDefault().toJSONString(nt);
        String targetJson = "{\"l\":1,\"m\":2,\"r\":3}";

        System.out.println("numTripleJson:"+numTripleJson);
        assertNotNull(numTripleJson);
        assertThat(numTripleJson, Is.is(targetJson));

        Triple<Short, Integer, Long> nt2 =
                JsonMapper.getDefault().readValue(targetJson,
                        new TypeReference<Triple<Short, Integer, Long>>(){}.getType());

        
        MyTriple mt=JsonMapper.getDefault().readValue(targetJson, 
        		MyTriple.class);
        System.out.println(mt);
//        MyTriple mt=JsonMapper.getDefault().readValue2(targetJson, 
//        		MyTriple.class);
//        System.out.println(mt);
        
        assertThat(nt2, IsNull.notNullValue());
        assertThat(nt2, IsEqual.equalTo(nt));

        assertThat(nt2, IsInstanceOf.instanceOf(ImmutableTriple.class));

        assertThat(nt.toString(), Is.is(String.format(
                "(%s,%s,%s)", nt.getLeft(), nt.getMiddle(), nt.getRight())));
    }
    
    
    
    
    @Test
    public void testHamCrest(){
    	int a=1;
    	int b=1;
    }
    
    
    @Test
    public void testMapper(){
    	String sourceJson = "{\"l\":1,\"m\":2,\"r\":3}";
    	HashMap<String, Integer> hm;
    	hm=(HashMap<String, Integer>) JsonMapper.getDefault().readToMap(sourceJson, String.class, Integer.class);
    	System.out.println(hm);
    	
    	/*String targetJson=null;
    	targetJson=JsonMapper.getDefault().toJSONString(hm);
    	System.out.println(targetJson);*/
    }
    
    @Test
    public void testJsonWrite(){
    	//1.构造Java Bean
    	MyTriple mt=new MyTriple();
    	mt.setL((short)1);
    	mt.setM(2);
    	mt.setR(3L);
    	
    	//2.利用框架的Util类,生成JsonString
    	String targetJson=null;
    	targetJson=JsonMapper.getDefault().toJSONString(mt);
    	System.out.println(targetJson);
    }
    
    @Test
    public void testJsonRead(){
    	//1.构造目标Json
//    	String targetJson = "{\"l\":1,\"m\":2,\"r\":3,\"g\":4}";
    	String targetJson = "{\"l\":1,\"m\":2,\"r\":3}";
    	
    	//2.构造目标 Java Bean
    	MyTriple mt=JsonMapper.getDefault().readValue(targetJson, 
         		MyTriple.class);
    	
    	System.out.println(mt);
    }
    
    
    
    
    
    
    
    
    
}

 

 

 

你可能感兴趣的:(Jackson)