使用jackson解析二维数组

maven依赖

        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-all</artifactId>
            <version>1.8.5</version>
        </dependency>

java代码

package com.hua.jackson;

import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;

import java.io.IOException;

/**
 * 使用jackson解析二维数组
 * Created by limenghua on 2016/6/12.
 */
public class JacksonArrayTest {

    private static String jsonStr = "[[{\"sWeek\":\"sunday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"monday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"tuesday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"wednesday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"thursday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"friday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"saturday\",\"amPm\":\"am\",\"workState\":1,\"hospitalId\":\"H5465464\"}],[{\"sWeek\":\"sunday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"monday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"tuesday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"wednesday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"thursday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"friday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"},{\"sWeek\":\"saturday\",\"amPm\":\"pm\",\"workState\":1,\"hospitalId\":\"H5465464\"}]]";

    public static void main(String[] args) {
        parseArray();
    }

    public static void parseArray() {
        final ObjectMapper mapper = new ObjectMapper();
        try {
            final Scheduling[][] schedulings = mapper.readValue(new ObjectMapper()
                    .readValue(jsonStr, JsonNode.class), Scheduling[][].class);
            for (Scheduling[] dto : schedulings) {

                System.out.println("===========================");

                for (Scheduling scheduling : dto) {
                    // 打印实体类数据
                    System.out.println(scheduling);
                }// second for end

            }// first for end
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

实体类

package com.hua.jackson;

/**
 * Created by limenghua on 2016/6/12.
 */
public class Scheduling {

    private String sWeek;
    private String amPm;
    private String workState;
    private String hospitalId;

    public String getAmPm() {
        return amPm;
    }

    public void setAmPm(String amPm) {
        this.amPm = amPm;
    }

    public String getHospitalId() {
        return hospitalId;
    }

    public void setHospitalId(String hospitalId) {
        this.hospitalId = hospitalId;
    }

    public String getsWeek() {
        return sWeek;
    }

    public void setsWeek(String sWeek) {
        this.sWeek = sWeek;
    }

    public String getWorkState() {
        return workState;
    }

    public void setWorkState(String workState) {
        this.workState = workState;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("Scheduling{");
        sb.append("amPm='").append(amPm).append('\'');
        sb.append(", sWeek='").append(sWeek).append('\'');
        sb.append(", workState='").append(workState).append('\'');
        sb.append(", hospitalId='").append(hospitalId).append('\'');
        sb.append('}');
        return sb.toString();
    }
}

前端传递的json字符串

[
    [
        {
            "sWeek": "sunday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "monday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "tuesday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "wednesday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "thursday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "friday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "saturday",
            "amPm": "am",
            "workState": 1,
            "hospitalId": "H5465464"
        }
    ],
    [
        {
            "sWeek": "sunday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "monday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "tuesday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "wednesday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "thursday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "friday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        },
        {
            "sWeek": "saturday",
            "amPm": "pm",
            "workState": 1,
            "hospitalId": "H5465464"
        }
    ]
]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值