解析http多部分/表单数据接收的JSON文件+;移交值(Java Springboot)

解析http多部分/表单数据接收的JSON文件+;移交值(Java Springboot),java,json,spring-boot,multipartform-data,Java,Json,Spring Boot,Multipartform Data,总结 上载服务接收包含JSON(MediaType.APPLICATION\u JSON\u值)的http多部分/表单数据流 JSON值需要作为参数传递给构造函数 当前情况:我将从RESTAPI接收http多部分/表单数据,RESTAPI通过接口包含一个JSON文件(MediaType.APPLICATION\u JSON\u值) @Override public Mono<String> upload(String fileName, String mimeType, Inp

总结

  • 上载服务接收包含JSON(MediaType.APPLICATION\u JSON\u值)的http多部分/表单数据流
  • JSON值需要作为参数传递给构造函数

当前情况:我将从RESTAPI接收http多部分/表单数据,RESTAPI通过接口包含一个JSON文件(MediaType.APPLICATION\u JSON\u值)

@Override
public Mono<String> upload(String fileName, String mimeType, InputStream inputStream) throws UploadException {
        
}
现在的任务是读取每个键的JSON值,并将每个值作为参数传递给类似的构造函数

FileCmd fileCmd = new FileCmd(String printerId, String jobId, String start, Map<String, String> optionalData);
FileCmd FileCmd=newfilecmd(字符串printerId、字符串jobId、字符串start、映射选项data);
  • 我还没有找到一个将多部分文件中的JSON值作为参数传递或至少将其存储在变量中的示例
  • 到目前为止,iv'e在Springboot、Jackson或apachecommons上也没有成功

有人能给出如何继续执行此类任务的提示吗?

使用BufferReader阅读流

BufferedReader bR = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
阅读每一行并将其附加到StringBuilder中。

StringBuilder responseStrBuilder = new StringBuilder();

while((line = bR.readLine()) != null){
   responseStrBuilder.append(line);
}
inputStream.close();
最后将字符串对象传递给JSONObject

JSONObject result= new JSONObject(responseStrBuilder.toString());
要从JSONObject获取JSON值,请执行以下操作: 示例:

String printerId = result.getString("printerId");

正是我想要的,谢谢@乔。如果你发现它可能对某人有用,你可以向上投票。
String printerId = result.getString("printerId");