根据post请求调取app接口,map对象转字符串,json对象转字符串

@RequestMapping("/user_systemallot_insert.do")

@ResponseBody

public Map<String, Object> systemallotInsert(HttpServletRequest request,HttpSession session){

Map<String, Object> map = new HashMap<>();

HashMap<String, Object> rlt = new HashMap<>();

HashMap<String, String> params = new HashMap<>();

try {

Object identityCode =  session.getAttribute("identity_code");

if(identityCode==null||"".equals(identityCode)){

map.put("status", 2);

map.put("message", "未登录");

return map;

}

rlt.put("product_coding", request.getParameter("productCodes"));

rlt.put("view", request.getParameter("view"));

rlt.put("edit", request.getParameter("edit"));

params.put("identity_code",identityCode.toString());

params.put("mobile", request.getParameter("mobile"));

params.put("truename", request.getParameter("truename"));

params.put("gid", request.getParameter("gid"));

params.put("password", request.getParameter("secondpwd"));

params.put("auth", ConvertMap2Json.buildJsonBody(rlt, 0, true));

String json =         HttpClientUtil.httpPost("http://test.shangke.com/app/user/register/", params, "utf-8");

ObjectMapper mapper = new ObjectMapper();

JsonNode node = mapper.readTree(json);

if(1==node.findValue("status").intValue()){

map.put("status", 1);

map.put("message", "提交成功");

}else{

map.put("status", 0);

map.put("message", node.findValue("message").asText());

}

} catch (Exception e) {

e.printStackTrace();

map.put("status", 0);

map.put("message", "系统异常");

}

return map;

}

ConvertMap2Json.java类

<!---------------------------------------------开始-------------------------------------->

package com.shangyukeji.icoolcloud.util;

import java.text.SimpleDateFormat;

import java.util.Map;

import java.util.Set;

public class ConvertMap2Json {

private static final String QUOTE = "\"";

/**

* 将Map转成一个json对象,即像大括号的东西

* e.g.

* {

*      "eventName": "name"

* }

*

* @param body

* @param tabCount

* @param addComma

* @return

*/

public static String buildJsonBody(Map<String, Object> body, int tabCount, boolean addComma)

{

StringBuilder sbJsonBody = new StringBuilder();

sbJsonBody.append("{\n");

Set<String> keySet = body.keySet();

int count = 0;

int size = keySet.size();

for (String key : keySet)

{

count++;

sbJsonBody.append(buildJsonField(key, body.get(key), tabCount + 1, count != size));

}

sbJsonBody.append(getTab(tabCount));

sbJsonBody.append("}");

return sbJsonBody.toString();

}

/**

* 生成一个json字段即像这样的

* e.g.

* "eventName": "aaa"

*

* @param key

* @param value

* @param tabCount

* @param addComma

* @return

*/

private static String buildJsonField(String key, Object value, int tabCount, boolean addComma)

{

StringBuilder sbJsonField = new StringBuilder();

sbJsonField.append(getTab(tabCount));

sbJsonField.append(QUOTE).append(key).append(QUOTE).append(": ");

sbJsonField.append(buildJsonValue(value, tabCount, addComma));

return sbJsonField.toString();

}

/**

* 生成json值对象

* e.g.

* "string"

* 或

* {

*      "key": "value"

* }

*

* @param value

* @param tabCount

* @param addComma

* @return

*/

private static String buildJsonValue(Object value, int tabCount, boolean addComma)

{

StringBuilder sbJsonValue = new StringBuilder();

if (value instanceof String)

{

sbJsonValue.append(QUOTE).append(value).append(QUOTE);

}

else if (value instanceof Integer || value instanceof Long || value instanceof Double)

{

sbJsonValue.append(value);

}

else if (value instanceof java.util.Date)

{

sbJsonValue.append(QUOTE).append(formatDate((java.util.Date) value)).append(QUOTE);

}

else if (value.getClass().isArray() || value instanceof java.util.Collection)

{

sbJsonValue.append(buildJsonArray(value, tabCount, addComma));

}

else if (value instanceof java.util.Map)

{

sbJsonValue.append(buildJsonBody((java.util.Map) value, tabCount, addComma));

}

sbJsonValue.append(buildJsonTail(addComma));

return sbJsonValue.toString();

}

/**

* 生成json数组对象

* [

*      "value"

* ]

* 或

* [

*      {

*          "key": "value"

*      }

* ]

*

* @param value

* @param tabCount

* @param addComma

* @return

*/

private static String buildJsonArray(Object value, int tabCount, boolean addComma)

{

StringBuilder sbJsonArray = new StringBuilder();

sbJsonArray.append("[\n");

Object[] objArray = null;

if (value.getClass().isArray())

{

objArray = (Object[]) value;

}

else if (value instanceof java.util.Collection)//将集合类改为对象数组

{

objArray = ((java.util.Collection) value).toArray();

}

int size = objArray.length;

int count = 0;

//循环数组里的每一个对象

for (Object obj : objArray)

{

//加上缩进,比上一行要多一个缩进

sbJsonArray.append(getTab(tabCount + 1));

//加上对象值,比如一个字符串"String",或者一个对象

sbJsonArray.append(buildJsonValue(obj, tabCount + 1, ++count != size));

}

sbJsonArray.append(getTab(tabCount));

sbJsonArray.append("]");

return sbJsonArray.toString();

}

/**

* 加上缩进,即几个\t

* TODO.

*

* @param count

* @return

*/

private static String getTab(int count)

{

StringBuilder sbTab = new StringBuilder();

while (count-- > 0)

{

sbTab.append("\t");

}

return sbTab.toString();

}

/**

* 加上逗号

* TODO.

*

* @param addComma

* @return

*/

private static String buildJsonTail(boolean addComma)

{

return addComma ? ",\n" : "\n";

}

/**

* 格式化日期

* TODO.

*

* @param date

* @return

*/

private static String formatDate(java.util.Date date)

{

return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);

}

}

<!----------------------------------结束----------------------------------------->

时间: 2024-10-24 10:46:26

根据post请求调取app接口,map对象转字符串,json对象转字符串的相关文章

【代码分享——Java&amp;Json】Json转成java对象,已经java对象转成Json对象

做记录用,肯定有地方不完整,先放着吧 [代码分享--Java&Json]Json转成java对象,已经java对象转成Json对象,布布扣,bubuko.com

一般处理程序中 C#中对象转化为Json对象

namespace: Newtonsoft.Json; context.Response.ContentType = "application/text"; 注:这里为什么不是 Json格式那?? 答:方法 JavaScriptConvert.SerializeObject 是把C#对象转化为 Json对象, 而浏览器 只能识别  Json 格式,而不是Json对象. 这里是通过 把json对象转化为 字符串进行传输, 然后 把字符串 转化为 json对象,进行操作. 对象  obj

小蚂蚁学习APP接口开发(1)—— json方式封装通信接口

前段时间,和公司的一个安卓程序员配合开发一款简单的APP,因为第一次写,时间也紧张,总感觉写的不是那么的完美,趁着这段时间好好总结一下经验. 对于APP的请求,服务器返回的数据类型一般是json和xml. xml和json的区别: 可读性方面--xml占优.因为它是有很多个节点组成的,节点的名称可以自定义. 生成数据方面--json占优.在PHP中要生成一条json数据,只需要一个内置函数就可以实现,而xml则需要拼接字符串或者实例化对象才能够实现,所以,json更为简便一些. 传输速度方面--

ajax请求返回json字符串/json对象 处理

1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: PrintWriter out = httpServletResponse.getWriter(): ObjectMapper mapper = new ObjectMapper(); Map map = new HashMap(); map.put("name","zz");

JSON对象转成formData对象,formData对象转成JSON对象

在向后端请求时,如果上传的数据里存在file文件对象,需要用到表单提交,这时候我们需要将JSON对象,转成formData对象,具体见代码 const formData = new FormData(); Object.keys(params).forEach((key) => { formData.append(key, params[key]); }); 下面也有可能需要formData转JSON,代码如下: var jsonData = {}; formData.forEach((valu

字符串json对象传值

之前传json的时候,用到的都是ajax,所以有些知识盲点就这么容易的避过了.最近项目中需要用到表单传一个json对象,踩了一个小坑,怪只怪在自己看书的时候太不仔细,下边来做个总结. demo1.html: 1 <body> 2 <form action="eg.php" method="post" name="fom"> 3 <input type="text" name="txt&q

Gson把对象转成json格式的字符串

最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库. 发现了google的gson,因为之前对于protocolbuf有一些了解,带着一些好奇心,我开始使用了gson. 经过比较,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段. 下面是一个简单的例子:

把JavaScript对象转化成JSON对象

js => jsonvar jsonVar = {key: value}var jsonString = JSON.stringify(jsonVar)  //将JS对象转换为JSON字符串var jsonObject = JSON.parse(jsonString)  //将JSON字符串转换为JSON对象 js => arrayvar jsonVar = [value1,..,value]var jsonString = JSON.stringify(jsonVar)  //将JS数组转换

夺命雷公狗---PHP开发APP接口---1(手动编写json)

在php里面按照json的方式产生json数据 接口的定义 <?php class Ren{ /** *按json方式输出通信数据 *param integer $code状态码 *param string $message提示信息 *param array $data数据 */ public static function json($code,$message='',$data=array()){ if(!is_numeric($code)){ return ''; } $result =