java后台API接收json数据,转换json对象问题

**public R<Void> add(@Validated(AddGroup.class) @RequestBody JSONObject jsonObject) {**

    //jsonObject对象(数组,对象,集合,普通字段)
    **Object productNameIds = jsonObject.get("productNameId");**
    **Long productNameId = Long.valueOf(String.valueOf(productNameIds));**

	//json对象转化为BO对象
    Object vehicleObject = jsonObject.get("vehicleObject");
    OrgProductParameterBo  orgProductParameter = JSONUtil.toBean((JSONObject) vehicleObject, OrgProductParameterBo.class);


    //添加相机参数表  json数组转对象集合
    JSONArray cameraParameterList = jsonObject.getJSONArray("cameraParameterList");//获取json数组
    List<OrgProductCameraParameterBo> orgProductCameraParameterBos = cameraParameterList.toList(OrgProductCameraParameterBo.class);

    
	//多个集合对象转化为一个集合对象  Stream流方法
    List<OrgProductPinCameraParameterBo> orgProductPinCameraParameterBosList  orgProductPinCameraParameterBosList= Stream.of(orgProductPinCameraParameterBos,orgProductPinCameraParameterBos1,orgProductPinCameraParameterBos2,orgProductPinCameraParameterBos3).flatMap(Collection::stream).collect(Collectors.toList());


}
vue3传递多个参数进行保存数据
index
 addProductImageParameter(form.value.paths,proxy.$route.params.id).then(response=>{
      if (response.msg === '操作成功') {
              proxy.$modal.msgSuccess('保存成功')
              openPicture.value=false
          }
    })
    
// 新增样品图参数
export function addProductImageParameter(paths,id) {
  //将请求该方法上传的两个参数合并为data json然后请求后端api
  const data={
    paths,
    id
  }

  return request({
    url: '/org/productImageParameter',
    method: 'post',
    data: data
   
  })
}

后台api
public R<Void> add(@Validated(AddGroup.class) @RequestBody JSONObject  jsonObject(前端传递的json参数data)) {
        System.out.println(jsonObject.get("paths"));
        System.out.println(jsonObject.get("id"));
        String paths = jsonObject.get("paths").toString();
        Object id = Long.parseLong(jsonObject.get("id").toString());}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java是一种流行的编程语言,它可以轻松地实现后台发送及接收JSON数据。下面是一个简单的示例: 发送JSON数据: 要发送JSON数据,我们需要创建一个HTTP请求,并将JSON数据作为请求的主体发送。以下是一个示例代码: ```java URL url = new URL("http://example.com/api"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); conn.setDoOutput(true); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", "John"); jsonObject.addProperty("age", 30); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(jsonObject.toString()); writer.flush(); writer.close(); ``` 在这个例子中,我们首先创建了一个URL对象,它指向我们要发送请求的API。然后,我们创建了一个HttpURLConnection对象,它允许我们使用HTTP协议进行数据传输。我们设置了请求的方法为POST,并且设置了请求头的Content-Type为application/json。在设置完请求头之后,我们将请求主体设置为一个JSON对象,并将其作为字符串发送。最后,我们关闭了输出流。 接收JSON数据: 要在Java接收JSON数据,我们需要从HTTP响应中获取JSON字符串,然后将其转换Java对象。以下是一个示例代码: ```java URL url = new URL("http://example.com/api"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Accept", "application/json"); BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String output; StringBuilder sb = new StringBuilder(); while ((output = br.readLine()) != null) { sb.append(output); } JsonObject jsonObject = new JsonParser().parse(sb.toString()).getAsJsonObject(); String name = jsonObject.get("name").getAsString(); int age = jsonObject.get("age").getAsInt(); ``` 在这个例子中,我们首先创建了一个URL对象,它指向我们要请求JSON数据API。然后,我们创建了一个HttpURLConnection对象,并将其请求方法设置为GET。我们设置请求头的Accept为application/json,指示我们需要接收JSON格式的数据。然后,我们使用缓冲读取器从输入流中读取响应,并将其附加到一个字符串构建器中。在读取完整个响应之后,我们使用Gson库将JSON字符串转换为一个JsonObject对象。最后,我们从JsonObject中获取名字和年龄,并将它们作为Java字符串和整数变量存储起来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值