java - java中JSONObject里面的JSONobject
问题描述
我有以下请求映射:
@RequestMapping(value = "/reCalculated", method = RequestMethod.POST)
public @ResponseBody void reCalculated(JSONObject obj) {
obj.
}
然后我有传入的json
{"params":{"date_a":"2017-05-01","date_b":"2017-05-02"}}
但是在java中,obj.
只给了我选项toString()
,toJSONString()
同时所有的教程,很少有线程清楚地告诉我我应该能够做到obj.getJSONObject("params")
这是为什么?如何访问我的参数?
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
是依赖。
解决方案
json-simple
库有方法get(String name)
,需要外部类型转换,如下所示
String name = (String) jsonObject.get("name");
JSONArray msg = (JSONArray) jsonObject.get("messages");
long age = (Long) jsonObject.get("age");
但是gson
库在这里有预定义的方法
public JsonObject getAsJsonObject(String memberName)
public JsonArray getAsJsonArray(String memberName)
Maven依赖
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.3</version>
</dependency>
推荐阅读
- c# - Abp.Zero.Common, Version=6.0.0.0, Culture=neutra l, PublicKeyToken=null' 没有实现。”
- laravel - 带条件的自动增量列
- html - 左右对齐标签以进行输入
- crystal-reports - 有什么办法可以避免水晶报表在大报表的情况下出现断言错误
- ios - 在 swiftui 中为多个视图重用代码/属性
- javascript - node.js modbus RTU via TCP(RTU over TCP)
- javascript - 动态平铺创建和调整可用宽度
- javascript - 在 JS ES6 上使用 Map 函数导入文件/库
- python - 在一定数量的结果之后,使用 Python 绘制烛台图的所有可能性
- java - 如何在 Java 中格式化字符串?