java后台如何解析这样的json串?jsonObject和JsonArray不好用,有别的方式吗

问题描述

java后台如何解析这样的json串?jsonObject和JsonArray不好用,有别的方式吗

[{"_sortNum":0,"_photoId":"2402 ","_updateTime":"2015-12-11 14:55:32","_updateUserName":" ","_ynRelease":1},
{"_sortNum":1,"_photoId":" 2222 ","_updateTime":" 22:22:22 ","_updateUserName":" 张2222 ","_ynRelease":1},
{"_sortNum":2,"_photoId":" 3333 ","_updateTime":" 33:33:33 ","_updateUserName":" 张3333 ","_ynRelease":1},
{"_sortNum":3,"_photoId":" 4444 ","_updateTime":" 44:44:44 ","_updateUserName":" 张4444 ","_ynRelease":1},
{"_sortNum":4,"_photoId":" 5555 ","_updateTime":" 55:55:55 ","_updateUserName":" 张5555 ","_ynRelease":1},{"_sortNum":5,"_photoId":" 6666 ","_updateTime":" 66:66:66 ","_updateUserName":" 张6666 ","_ynRelease":1},{"_sortNum":6,"_photoId":" 7777 ","_updateTime":" 77:77:77 ","_updateUserName":" 张7777 ","_ynRelease":1},{"_sortNum":7,"_photoId":" 8888 ","_updateTime":" 88:88:88 ","_updateUserName":" 张8888 ","_ynRelease":1},{"_sortNum":8,"_photoId":" 9999 ","_updateTime":" 99:99:99 ","_updateUserName":" 张9999 ","_ynRelease":1}]

解决方案

这个格式就是Array的格式,就是需要用JSONArray解析的,检查下是不是你的代码有什么不妥的地方呢?

解决方案二:

创建对象的方法可以试试;或者用map也可以。
public static void ParseJson(String jsonString) {

    // 以employee为例解析,map类似
    JSONObject jb = JSONObject.fromObject(jsonString);
    JSONArray ja = jb.getJSONArray("user");
    List<Offers> userList = new ArrayList<Offers>();
    // 循环添加User对象(可能有多个)
    for (int i = 0; i < ja.size(); i++) {
        Offers user = new Offers();
        user.setName(ja.getJSONObject(i).getString("name"));
        user.setSex(ja.getJSONObject(i).getString("sex"));
        user.setAge(ja.getJSONObject(i).getInt("age"));
        userList.add(user);
    }
    System.out.println("n将Json数据转换为User对象:");
    for (int i = 0; i < userList.size(); i++) {
        Offers user = userList.get(i);
        System.out.println("age: " + user.getAge() + "nname: "
                + user.getName() + "nsex: " + user.getSex());
    }    

    // map:
    JSONArray JMap = jb.getJSONArray("map");

    List<Map<String, Object>> mapList = new ArrayList<Map<String,Object>>();
    Map<String, Object> maps = null;

    for (int i = 0; i < JMap.size(); i++) {
        maps = new HashMap<String, Object>();

        maps.put("name", JMap.getJSONObject(i).get("name"));
        maps.put("sex", JMap.getJSONObject(i).get("sex"));
        maps.put("age", JMap.getJSONObject(i).get("age"));

        mapList.add(maps);
    }

    System.out.println("n将Json数据转换为Map类型");
    for (int i = 0; i < mapList.size(); i++) {
        Map<String, Object> map = mapList.get(i);
        System.out.println("age: " + map.get("age") + "nname: "
                + map.get("name") + "nsex: " + map.get("sex"));
    }
}

解决方案三:

用Gson试试,,,再不行的话,,直接用实体类封装就行了

解决方案四:

先转化成 jsonArray ,再遍历 jsonArray, 通过jsonObject获取信息

时间: 2024-11-02 07:17:58

java后台如何解析这样的json串?jsonObject和JsonArray不好用,有别的方式吗的相关文章

Java:JSON解析工具-org.json

一.简介  org.json是Java常用的Json解析工具,主要提供JSONObject和JSONArray类,现在就各个类的使用解释如下.  二.准备  1.在使用org.json之前,我们应该先从该网址https://github.com/douglascrockford/JSON-java下载org.json源码,并将源码其加入到Eclipse中,即可调用.  2.查看相关的API文档,访问:https://github.com/douglascrockford/JSON-java. 

JAVA使用Gson解析json数据实例解析_java

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成.同XML一样是一种"传输格式".JSON采用与编程语言无关的文本格式,便于数据传输.存储.交换. 封装类Attribute: public class Attribute { private int id; private String name; private int age; public int getId() { return id; } p

json-jackson反序列化JSON串到java对象

问题描述 jackson反序列化JSON串到java对象 [{"name":"u4e1cu98ceu6e2f","data":[[1438790400000,232],[1438794000000,190],[1438797600000,157],[1438801200000,129],[1438804800000,111],[1438805880000,109],[1438808400000,117],[1438812000000,156],[

js+ajax处理java后台返回的json对象循环创建到表格的方法_AJAX相关

本文实例讲述了js+ajax处理java后台返回的json对象循环创建到表格的方法.分享给大家供大家参考,具体如下: //注:LO是表格的id: 需要自己创建表头, n行,9列的表格: var tab_id; function varify(cardinno) { tab_id=document.getElementById("Layer1"); displayDiv(); tab_id.style.display="none"; var url="get

java后台字符串到显示到前台被解析成html标签而无法显示怎么解决?

问题描述 java后台字符串到显示到前台被解析成html标签而无法显示怎么解决? 解决方案 后台html标签到前台显示错误问题java截取带html标签的字符串,再把标签补全(保证页面显示效果)java截取带html标签的字符串,再把标签补全(保证页面显示效果) 解决方案二: 标签是干嘛的?你确定浏览器支持这个标签吗? 解决方案三: 你想把这个标签作为一个字符串? 解决方案四: 你在保存或者显示的时候,将这些特殊字符解析一下: "<"小于号 替换成"<"

groovy/java自实现json解析器(2)JsonObject

底层数据结构实现 本对象的底层数据结构是一个Map(映射),我们用def private jsonMap将其定义为对象变量.我们在构造函数中对其进行初始化,它以键值对的形式存储数据,其中键必须为字符串,值可以为字符串.Boolean.Integer.JsonArray.JsonObject,从最后两个可存储对象,我们或多或少地已能看出JsonObject是如何达成普通json对象里的无限嵌套了. 下面是本对象的构造函数. def JsonObject( jsonMap = null) { thi

java json字符串解析,获取json字符串中数组的值

问题描述 java json字符串解析,获取json字符串中数组的值 {"arr":["ipAddr","installationSite","imineSystemId","valid"],"login":0,"password":"","purview":"","userId":0,&

java对象转成JSON串对象丢失

问题描述 java对象转成JSON串对象丢失 将一个java对象转成JSON字符串时,对象的一个属性丢失,求大神指导!!!! 解决方案 java 对象转 json串java嵌套对象转成jsonjava 将json字串转成复杂对象 解决方案二: 也许你定义的对象就是少了一个属性 解决方案三: 理论上是不会丢失的,是不是属性字段单词写错了? 解决方案四: 用jsonobject试试,将java对象转换为json字符串先将java对象转换为json对象,在将json对象转换为json字符串JSONOb

使用Java构造和解析Json数据的两种方法(详解二)_java

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Json数据的方法