Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在对象添加中返回Json'\';在数据中_Java_Json_Spring - Fatal编程技术网

Java 在对象添加中返回Json'\';在数据中

Java 在对象添加中返回Json'\';在数据中,java,json,spring,Java,Json,Spring,我有一个通用控制器,它将返回json值,它将从任何API中获取该值。 我试图将响应放入一个对象中,但它的appending/at every“,请建议如何将结果作为json值发送 Response oResponse=new Response(); Map<String,Object> result=(Map<String,Object>) service.getData(); res.setData(result.get("result")); res.setRespo

我有一个通用控制器,它将返回json值,它将从任何API中获取该值。 我试图将响应放入一个对象中,但它的appending/at every“,请建议如何将结果作为json值发送

Response oResponse=new Response();
Map<String,Object> result=(Map<String,Object>) service.getData();
res.setData(result.get("result"));
res.setResponseCode("200");
res.setResponseMessage("API result fetched successfully");

RESULT :
    {
      "responseCode": "000",
      "responseMessage": "API result fetched successfully",
      "data": "{\"info\":\"SUCCESS\",\"warn\":\"\",\"error\":\"\",\"responseCode\":\"200\",\"responseData\":{\"logindetails\":{\"host\":\"localhost:8080\",\"connection\":\"keep-alive\",\"content-length\":\"145\",\"origin\":\"chrome-extension:\\/\\/fhbjgbiflinjbdggehcddcbncdddomop\",\"apiurl\":\"abc-web-api\\/12345wer\\/testE2B\\/login\",\"user-agent\":\"Mozilla\\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\\/537.36 (KHTML, like Gecko) Chrome\\/58.0.3029.110 Safari\\/537.36\",\"content-type\":\"multipart\\/form-data; boundary=----WebKitFormBoundary6NUlvB1E7FBrRORE\",\"projectkey\":\"abc120\",\"cache-control\":\"no-cache\",\"postman-token\":\"81df53c2-7702-2691-f168-b544daa0e20b\",\"token\":\"YJJ7Y2khYj3he+4aNJ9WYCFLJfhGrpNrZ4JMyoiYtjnmh19UYe1vwoPYQ2Q==\",\"accept\":\"*\\/*\",\"accept-encoding\":\"gzip, deflate, br\",\"accept-language\":\"en-GB,en-US;q=0.8,en;q=0.6\"}}}"
    }
Response-oreresponse=新响应();
Map result=(Map)service.getData();
res.setData(result.get(“result”));
res.setResponseCode(“200”);
res.setResponseMessage(“成功获取API结果”);
结果:
{
“响应代码”:“000”,
“responseMessage”:“API结果已成功获取”,
“数据”:“{”信息\“:\”成功\“,\”警告\“:\”,“错误\“:\”,“响应代码\“:”200 \“,”响应数据\“:{”登录详细信息\“:{”主机\“:\”本地主机:8080\”,“连接\“:”保持活动\“,”内容长度\“:”145\,“来源\“:\”chrome扩展名:\\/\\\\/\/BJGBJJGBInggehCddDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDomDom\“Mozilla\\/5.0(Windows NT 6.1;Win64;x64)AppleWebKit\\\/537.36(KHTML,像Gecko)Chrome\\/58.0.3029.110 Safari\\\/537.36\,\“内容类型\\:“多部分\/表单数据;边界=----WebKitFormBoundary6Nulvb1e7FBrror\,“项目密钥\:”abc120\,“缓存控制\:“无缓存\”,“邮递员令牌\\”:“无缓存\\”,“邮递员令牌\\”:“Df81dfe27702-2691-269a044b\”,“令牌\\”YJJ7Y2khYj3he+4ANJ9WYCFLJFHGRPNRZ4JMYYYTJNMH19UYE1VWOPYQ2Q==\”,“接受”:“*\/*\”,“接受编码”:“gzip,deflate,br\”,“接受语言”:“en-GB,en-US;q=0.8,en;q=0.6”}”
}

您可以生成一个json响应,如下所示,您需要有org.jsonjar文件

您可以发送如下响应

ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writeValueAsString(yourData);
resp.getWriter().write(jsonString);
如果您使用的是maven,那么将其添加到pom.xml中

<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20170516</version>
</dependency>

org.json
json
20170516

尝试将@JsonRawValue注释添加到数据字段中。 这将按原样序列化/反序列化json


“resp”是哪个类的对象?它是HttpServletResp,我假设您使用的是httpServlet,如果您没有使用它,请将响应类型设置为json,然后在
mapper.writeValueAsString(response)
中传递返回值。String JSONInstalling=response.getWriter().write(jsonString),我尝试过了,但它的意思是“类型不匹配:无法从void转换为String”这就是将json响应传递给http响应的方式,您可以将内容类型设置为json并仅返回
jsonString
,即stringResponse res=new response();//这是我的类,我返回这个类的对象,我不返回HttpServletResponse的对象