zoukankan      html  css  js  c++  java
  • 基于jsonlib.jar包Json实例程序

    基于json-lib.jar包Json实例程序
    1.JSONObject to DynaBean
    String json = "{name=\"json\",bool:true,int:1,double:2.2}";
    JSONObject jsonObject = JSONObject.fromObject(json);
    //抽象的写法:DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );
    Object bean = JSONObject.toBean(jsonObject);
    //Object bean1 = JSONSerializer.toJava(jsonObject);
    assertEquals(jsonObject.get("name"), PropertyUtils.getProperty(bean, "name"));
    assertEquals(jsonObject.get("bool"), PropertyUtils.getProperty(bean, "bool"));
    assertEquals(jsonObject.get("int"), PropertyUtils.getProperty(bean, "int"));
    assertEquals(jsonObject.get("double"), PropertyUtils.getProperty(bean, "double"));

    2.JSONObject to JavaBean
    String json = "{name:\"zhangsan\",age:25,hight:1.72,sex:true}";
    JSONObject jsonObject = JSONObject.fromObject(json);
    UserBean bean = (UserBean) JSONObject.toBean(jsonObject, UserBean.class);
    System.out.println(jsonObject);
    理论上,这样就可以了,但时,有异常Caused by: java.lang.NoSuchMethodException: com.json.Json$UserBean.<init>()

    3.JSONArray to List
    String json = "[\"first\",\"second\"]";
    JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(json);
    List output = (List) JSONSerializer.toJava(jsonArray);

    4.JSONArray to array
    String json = "[\"first\",\"second\"]";
    JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(json);
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY);
    Object[] output = (Object[]) JSONSerializer.toJava(jsonArray, jsonConfig);
    Object[] expected = new Object[] { "first", "second" };
    ArrayAssertions.assertEquals(expected, output);

    5.JSON 字符串 专为 JavaBean(刘慧斌demo 演示需要的jar包在附件里)

    String str="[{\"id\":\"328\",\"mestype\":\"inbox\"},{\"id\":\"327\",\"mestype\":\"inbox\"},{\"id\":\"279\",\"mestype\":\"already\"},{\"id\":\"278\",\"mestype\":\"already\"},{\"id\":\"277\",\"mestype\":\"already\"},{\"id\":\"310\",\"mestype\":\"inbox\"},{\"id\":\"308\",\"mestype\":\"inbox\"},{\"id\":\"305\",\"mestype\":\"inbox\"},{\"id\":\"304\",\"mestype\":\"inbox\"},{\"id\":\"303\",\"mestype\":\"inbox\"}]";
    JSONArray jsonArray=(JSONArray) JSONSerializer.toJSON(str);
    List list=(List)JSONSerializer.toJava(jsonArray);
    for (Object obj: list) {
    JSONObject jsonObject = JSONObject.fromObject(obj);
    MessageBean bean = (MessageBean) JSONObject.toBean(jsonObject, MessageBean.class);
    String id=bean.getId()+"";
    String type=bean.getMestype();
    System.out.println(id+" "+type);
    }
    System.out.println(list.size());

    相关:http://baike.baidu.com/view/136475.htm#3_6

  • 相关阅读:
    jquery怎么实现跨域的访问呢?与别人提供的接口连接
    服务器返回数组,data[0]得到的总是不对?如何处理?
    ajax 如何实现页面跳转
    问答精华-IntelliJ IDEA快捷键大全
    setinterval在jQuery里面是怎么使用的。
    background 、backgroundcolor、background-color 我怎么有点分不清了??
    视频最后用使用了function(i,ot)一笔带过,但我看不懂i和ot这2个参数的具体值是怎么获取得到的,能不能说一下参数传递过程?
    3张大图片自动播放
    图片自动加载
    用jQuery之后,之前javascript的一些方法就不能用了吗
  • 原文地址:https://www.cnblogs.com/langtianya/p/3009235.html
Copyright © 2011-2022 走看看