在java中反序列化Json对象

新手上路,请多包涵

我想不通,我应该反序列化这种类型的 json 对象:

{ "value":integer", "total":1", "records":138", "rows":[ { "value1":6, "value2":true, "bool":true, "floatNumber":140.41", "floatNumber2":28.7", "floatNumber3":140.41", "cssClassName":""", "date":"19/03/2022"", "UTCdate":"2016-03-22T00:00:00+0000"", "UTCdate2":"2016-03-24T20:45:25+0000" }, { "value1":6, "value2":true, "bool":true, "floatNumber":140.41", "floatNumber2":28.7", "floatNumber3":140.41", "cssClassName":""", "date":"19/03/2022"", "UTCdate":"2016-03-22T00:00:00+0000"", "UTCdate2":"2016-03-24T20:45:25+0000"} ]}

但我不知道该怎么做。我希望这个项目被添加到我的类中,指向什么值来分配相应的属性。

我尝试使用 Flexjson 库,但没有看到任何可以让我做我想做的事情的函数。

从哪儿开始?

PS:我从来没有将对象序列化为JSON,所以我不知道它是如何工作的。

原文由 exSnake 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 410
2 个回答

那是杰森。您需要使用 api 解析它。

例如

{'profiles': [{'name':'john', 'age': 44}, {'name':'Alex','age':11}]}

你将不得不做一些这样的事情:

  JSONObject myjson = new JSONObject(the_json);
 JSONArray the_json_array = myjson.getJSONArray("profiles");

这将返回数组对象。

那么迭代将如下:

 int size = the_json_array.length();
ArrayList<JSONObject> arrays = new ArrayList<JSONObject>();
for (int i = 0; i < size; i++) {
    JSONObject another_json_object = the_json_array.getJSONObject(i);
        //Blah blah blah...
        arrays.add(another_json_object);
}

//Finally
JSONObject[] jsons = new JSONObject[arrays.size()];
 arrays.toArray(jsons);

示例代码取自 如何解析 JSON 并将其值转换为数组?

原文由 Danyal Sandeelo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题