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

jackson demo

    博客分类:
  • java
 
阅读更多
/*
 * 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的一个简单的Demo

    在“Jackson的一个简单的Demo”中,我们将探讨如何利用Jackson库进行对象到JSON和JSON到对象的转换。 首先,Jackson库的核心组件包括`ObjectMapper`,这是一个关键类,负责执行Java对象与JSON之间的映射。通过创建`...

    json和java互转完整项目demo(jackson)

    该项目“json和java互转完整项目demo(jackson)”显然是一个使用Jackson库进行JSON与Java对象之间转换的示例项目。Jackson库的核心组件包括`ObjectMapper`,它是整个库的中心,负责JSON与Java对象之间的转换工作。 1...

    json_jackson_junit_demo.zip

    `json_jackson_junit_demo.zip`中的示例应该就是展示了如何使用Jackson进行这些操作。 1. **JSON与Bean转换**: Jackson库中的`ObjectMapper`类是主要的转换工具。你可以通过`readValue()`方法将JSON字符串解析为...

    json和java互转demo(jackson)

    Jackson库由FasterXML公司开发,其核心组件包括`Jackson-databind`、`Jackson-core`和`Jackson-annotations`。在本项目中,`jackson-test`可能是一个包含测试代码的模块,用于演示如何使用Jackson进行JSON和Java对象...

    Android JackSon解析JSON

    本文将深入探讨如何在Android中使用Jackson进行JSON解析,并通过手打Demo来展示其实用性和高效性。 首先,我们需要引入Jackson库。在`build.gradle`文件中添加依赖: ```groovy dependencies { implementation '...

    spring + spring mvc+mybatis plus

    整合spring + spring mvc+mybatis plus 的示例,里面包含了ssm基本整合以外,还包含了jackson demo、fastjson demo、freemarker demo、vus.js 2.5 demo、mybatis plus代码自动生成工具、mybatis plus 自定义分页示例...

    fastjson和jackson序列化数据的区别

    fastjson和jackson序列化数据的区别直奔主题一言不合就上代码注意 直奔主题 ...public class Demo { public static void main(String [] args){ String orderInfo = "{\n" + "\"orderId\":\"100

    【SpringBoot】jackson序列化解决超大整数浏览器精度损失问题 demo

    在提供的"demo"文件中,应包含了示例代码,演示如何配置和使用上述策略。请检查该文件,以获取更具体的实现细节。通过实践这些解决方案,你可以确保在SpringBoot应用与前端之间传递大型整数时保持数据的完整性。

    仿应用市场的Demo

    在获取数据方面,一般会采用JSON格式进行数据交换,因此需要掌握JSON解析库,如Gson或Jackson。对于应用详情页面,我们可能需要加载远程图片,这涉及到图片加载库,如 Glide 或 Picasso 的使用。同时,为了提供离线...

    app后台服务Demo(jdk7+tomcat7+maven+jersey+mybatis+spring+jackson)

    标题中的"app后台服务Demo(jdk7+tomcat7+maven+jersey+mybatis+spring+jackson)"是一个示例项目,它展示了如何构建一个基于Java的后端服务。这个项目利用了一系列流行的开源技术,包括Java 7 (JDK7)、Tomcat 7作为...

    农行web端网银支付java接口文件及demo

    这可能涉及到网络请求库的使用,如HttpURLConnection或者OkHttp,以及JSON解析库,如Gson或Jackson,因为支付请求和响应通常以JSON格式进行交换。 为了实现农行网银支付,开发者需要处理以下几个关键环节: 1. **...

    京东商城android demo 分享

    可以使用Gson或Jackson库进行快速而有效地解析。 3. **UI设计**:遵循Material Design设计指南,开发者可能使用了Android的布局组件(如LinearLayout、RelativeLayout、RecyclerView等)来构建用户界面。此外,...

    简单天气预报demo

    3. **JSON解析**:从API获取的天气数据是以JSON格式返回的,需要使用Gson、Jackson或Android自带的Gson库将JSON转换为Java对象,以便于处理和显示。 4. **异步处理**:为了防止因网络操作阻塞UI线程,需要使用...

    RxJava+Retrofit简单Demo

    此外,它与Gson、Jackson等库集成,可以方便地进行JSON数据的序列化和反序列化。 **MVP(Model-View-Presenter)** MVP是一种软件设计模式,主要用于Android应用开发,目的是提高代码的可测试性和可维护性。在MVP...

    CRM_DEMO.zip

    因此,Java应用程序需要能够将对象序列化为JSON(例如,使用Jackson或Gson库),以及将接收到的JSON解析为Java对象。 4. **Web API操作**:Web API支持多种操作,如查询(GET)、创建(POST)、更新(PATCH)和删除...

    android仿京东商城-demo

    - 集成`Gson`或`Jackson`库进行JSON数据解析,转化为Java对象。 - 实现异步加载策略,避免阻塞主线程,提高应用响应速度。 3. **图片加载与缓存**: - 引入`Glide`或`Picasso`图片加载库,优化图片加载性能,...

    java web接口开发demo

    `mServer`可能包含了解析和生成这些格式数据的代码,例如使用Jackson或Gson库。 安全性也是接口开发的重要方面。示例可能涵盖了如何使用HTTPS协议进行安全通信,以及如何实现身份验证和授权,比如OAuth2或JWT(JSON...

    websocket-demo.zip

    这些模型可以是自定义的Java类,通过Gson或Jackson等库转换为JSON格式进行传输。 6. **测试和应用**:为了验证WebSocket的实现,这个demo可能还包含了测试用例,如一个简单的发送和接收消息的测试,或者一个可以...

    仿淘宝demo

    3. **网络请求与数据解析**:Demo中必然包含与服务器进行数据交换的逻辑,可能使用了 Retrofit 或 Volley 进行网络请求,配合Gson或Jackson进行JSON数据解析,实现商品信息获取、用户登录注册、购物车操作等功能。...

    安卓天气预报demo

    开发者可能选择使用Gson、Jackson或FastJson等第三方库,它们可以更便捷地将JSON数据映射到Java对象。 接下来,数据显示在用户界面上,这涉及到Android的UI设计。布局文件(XML)定义了屏幕上的元素和它们的排列...

Global site tag (gtag.js) - Google Analytics