package com;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import net.sf.ezmorph.bean.MorphDynaBean;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
public class Fetion { public static void main(String[] ss) {
test2();
} public static void test(){ //构建json串
Map<String,Object> map3 = new HashMap<String,Object>();
map3.put("id",1234);map3.put("name","zhange");map3.put("age", 43); List<Object> ls = new ArrayList<Object>();
ls.add(map3); Map<String,Object> map2 = new HashMap<String,Object>();
map2.put( "count" , "1" );
map2.put( "router" , ls); Map<String,Object> map = new HashMap<String,Object>();
map.put( "listroutersresponse" , map2); JSONObject jsonObject2 = JSONObject.fromObject(map);
String response = jsonObject2.toString();
System.out.println("json串值:"+response); //解析json串
JSONObject jsonObject = JSONObject.fromObject(response);
JSONObject listvolumesresponse = (JSONObject) jsonObject.get("listroutersresponse");
if (listvolumesresponse != null && listvolumesresponse.has("router")) {
JSONArray router = (JSONArray) listvolumesresponse.getJSONArray("router");
List<MorphDynaBean> list = (List<MorphDynaBean>) JSONSerializer.toJava(router);
System.out.println("获取id值:"+list.get(0).get("id").toString());
}
System.out.println("---------------------------");
//构建MorphDynaBean
MorphDynaBean mdb;
JSONObject js = new JSONObject();
js.accumulate("areaid", 421);
js.accumulate("areaname", "福建");
mdb = (MorphDynaBean) JSONSerializer.toJava(js);
System.out.println("构建MorphDynaBean:" + mdb);
try {
System.out.println("获取地市名:" + mdb.get("areaname")); } catch (Exception e) {
e.printStackTrace();
}
System.out.println("---------------------------"); } public static void test2(){
//构建json串
Map<String,Object> map3 = new HashMap<String,Object>();
map3.put("id",1234);map3.put("name","zhange");map3.put("age", 43); Map<String,Object> map2 = new HashMap<String,Object>();
map2.put( "count" , "1" );
map2.put( "router" , map3); Map<String,Object> map = new HashMap<String,Object>();
map.put( "listroutersresponse" , map2); JSONObject jsonObject2 = JSONObject.fromObject(map);
String response = jsonObject2.toString();
System.out.println("json串值:"+response); //解析json串
JSONObject jsonObject = JSONObject.fromObject(response);
JSONObject listvolumesresponse = (JSONObject) jsonObject.get("listroutersresponse");
if (listvolumesresponse != null && listvolumesresponse.has("router")) {
JSONObject router = listvolumesresponse.getJSONObject("router");
System.out.println("获取id值:"+router.get("id").toString());
}
System.out.println("---------------------------");
//构建MorphDynaBean
MorphDynaBean mdb;
JSONObject js = new JSONObject();
js.accumulate("areaid", 421);
js.accumulate("areaname", "福建");
mdb = (MorphDynaBean) JSONSerializer.toJava(js);
System.out.println("构建MorphDynaBean:" + mdb);
try {
System.out.println("获取地市名:" + mdb.get("areaname")); } catch (Exception e) {
e.printStackTrace();
}
System.out.println("---------------------------"); } }

相关jar包下载

Java json串生成及转bean的更多相关文章

  1. Java中将JSON格式的数据转换成对应的Bean、Map、List数据

    简单说明: 为了方便数据在客户端及服务器端的传输,有时候我们会用一些比较方便组织的数据类型,比如json.xml等传给客户端,客户端也可以重新组织数据传回服务器端.JSON和XML提供了一套比较方便的 ...

  2. 利用JAVA反射机制将JSON数据转换成JAVA对象

    net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大,  这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用,   有些数据类型需要进行转 ...

  3. Java对象转换成xml对象和Java对象转换成JSON对象

    1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...

  4. 将JSON数据转换成JAVA的实体类

    思路:首先将JSON格式的数据转换成JSONObject,然后将JSONObject转换成Java的实体类(其中类属性包括List等类型) Java实体类: SearchFilter 类 1 publ ...

  5. json解析出现:java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXX

    感谢大佬:https://blog.csdn.net/one_ink/article/details/99817676 一.出错原因 当我们利用json解析中的toBean方法时,如果它的属性里面包含 ...

  6. Java JSON、XML文件/字符串与Bean对象互转解析

    前言      在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...

  7. java中String转换成json,json转换成String

    前置添加pom <!-- 配置gson --> <dependency> <groupId>com.google.code.gson</groupId> ...

  8. java -json()

    json-lib和org.json的使用几乎是相同的,我总结出的区别有两点: 两种包 1. List集合转换成json方法 List list = new ArrayList(); list.add( ...

  9. json转换成对象

    在json转换成对象时,json的key会与java 类的字段一一对应.如果没有映射上的java字段会在该数据类型上填充默认值,如int 0,String null 等. 没有映射的json key在 ...

随机推荐

  1. ASP.NET SignalR入门

    前言 之前在培训ASP.NET WebAPI的时候有提过SignalR这个技术,但当时只是讲了是用来做什么的,并没有多说.因为自己也是画图找资料的时候见到的.后来当一直关注的前端大神贤心发布LayIM ...

  2. 【翻译】首个基于NHibernate的应用程序

    首个基于NHibernate的应用程序  Your first NHibernate based application 英文原文地址:http://www.nhforge.org/wikis/how ...

  3. GroupJoin和Join的声明及调用

    public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this IEnumerable& ...

  4. hdu 1241 Oil Deposits

    #include<cstdio> #include<iostream> #include<algorithm> #include<math.h> #in ...

  5. linux学习日记之老男孩

    2016年10月5日企业面试题:cp 命令复制文件是如果有覆盖可能的话如何去除确认步骤,如:将/mnt/text.txt 复制 到/temp/text.txt,去除覆盖确认命令.方法:1.加全路径的c ...

  6. ASN.1 key structures in DER and PEM

    转自:https://tls.mbed.org/kb/cryptography/asn1-key-structures-in-der-and-pem Introduction Everybody lo ...

  7. Pyqt 基础功能

    总结Pyqt的基础知识 1. Pyqt  设置禁止最大化及禁止拖拽窗口大小 # PyQT禁止窗口最大化按钮: self.setWindowFlags(QtCore.Qt.WindowMinimizeB ...

  8. Duilib源码分析(一)整体框架

    Duilib界面库是一款由杭州月牙儿网络技术有限公司开发的界面开源库,以viksoe项目下的UiLib库的基础上开发(此后也将对UiLib库进行源码分析):通过XML布局界面,将用户界面和处理逻辑彻底 ...

  9. 【Java并发系列02】Object的wait()、notify()、notifyAll()方法使用

    一.前言 对于并发编程而言,除了Thread以外,对Object对象的wati和notify对象也应该深入了解其用法,虽然知识点不多. 二.线程安全基本知识 首先应该记住以下基本点,先背下来也无妨: ...

  10. 《Python操作SQLite3数据库》快速上手教程

    为什么使用SQLite数据库? 对于非常简单的应用而言,使用文件作为持久化存储通常就足够了,但是大多数复杂的数据驱动的应用需要全功能的关系型数据库.SQLite的目标则是介于两者之间的中小系统.它有以 ...