Java自定义方法转换前端提交的json字符串为JsonObject对象

前端提交json字符串格式数据,Java后端通过自定义方法接收json字符串数据并转换为JsonObject对象,代码如下放到RequestData.Java类中:

public static JSONObject getRequestJsonObj(HttpServletRequest request) {
    InputStreamReader reader = null;
    InputStream in = null;
    String requsetSb = "";
    StringBuffer sb = new StringBuffer();
    try {
        in = request.getInputStream();
        reader = new InputStreamReader(in, "UTF-8");
        char[] buffer = new char[1024];
        int len;
        while ((len = reader.read(buffer)) > 0) {
            sb.append(buffer, 0, len);
        }
        //System.out.println("请求信息:" + sb.toString());
        requsetSb = sb.toString();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (reader != null) {
                reader.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            if (in != null) {
                in.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    JSONObject jsobj = JSONObject.fromObject(requsetSb.toString());
    return jsobj;
}

public static Object getRequestJsonObj(HttpServletRequest request, Class clazz) {
    JSONObject jsonObject = getRequestJsonObj(request);
    Object obj = JSONObject.toBean(jsonObject, clazz);
    return obj;
}

控制器中调用:

@RequestMapping("/test")
public void test(HttpServletRequest request) {
    JSONObject obj = RequestData.getRequestJsonObj(request);
    String userNameId = obj.getString("userNameId");
}

如果有实体Bean对象,可以通过以下方法接收:

@RequestMapping("/test")
public void test(HttpServletRequest request) {
    User user = (User) RequestData.getRequestJsonObj(request, User.class);
    String userNameId = user.getUserNameId();
}
时间: 2024-07-28 17:22:44

Java自定义方法转换前端提交的json字符串为JsonObject对象的相关文章

Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象

场景: 在web应用开发中,spring mvc凭借出现的性能和良好的可扩展性,导致使用日渐增多,成为事实标准,在日常的开发过程中,有一个很常见的场景:即前端通过ajax提交方式,提交参数为一个json对象的字符串,采用application/json的类型,在后端control中利用@RequestBody将json字符串直接转换成对应的Java对象,如: var dataStr = '[{"id":1476,"name":"test"}]';

JSON字符串和JS对象之间的转换

1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eval('('+str+')') eval('['+str+']') 对象字符串 "{\"id\":\"001\",\"name\":\"sanzhang\"}" 对应的json格式 {"id":"001",&q

C#如何生成JSON字符串?(序列化对象)

第一章:C#如何拿到从http上返回JSON数据? 第二章:C#如何解析JSON数据?(反序列化对象) 第三章:C#如何生成JSON字符串?(序列化对象) 第四章:C#如何生成JSON字符串提交给接口(服务器)? 上一篇文章中我们讲解了序列号JSON数据,这篇文章我们来讲解一下反序列化JSON数据,也就是将实体类转化成JSON数据,其实也非常简单,说白了,就是将实体初始化. 一样,我们跟着前两篇的代码,在添加 一个按钮,在按钮事件里面写代码.先看效果吧. 接下俩是按钮事件 using Syste

使用js把json字符串转为js对象的方法

ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐怕这是最早的解析方式了.如下: 复制代码代码如下: function strToJson(str){ var json = eval('(' + str + ')'); return json; } 记得别忘了str两旁的小括号. 这里属性名可以使用数字,可以带引号也可以不带引号.如果属性名是纯数字,

C# 把对象序列化 JSON 字符串 和把JSON字符串还原为对象

/// <summary> /// 把对象序列化 JSON 字符串 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="obj">对象实体</param> /// <returns>JSON字符串</returns> public static string GetJson<

Java中Json字符串直接转换为对象(包括多层List集合)

http://blog.csdn.net/catoop/article/details/42744705 使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 下面是例子代码: [java] 

objective-c和java下如何快速的解析JSON字符串

首先讲objective-c如何实现: 这里需要用到2个插件,一个是JSONKit,另一个是Jastor,一共包含6个文件,3个.h头文件和3个.m实现文件.在ARC的工程中如何导入不支持ARC的第三方工具请看这篇文章:iOS在支持arc的工程中,导入不支持arc的第三方的插件 具体文件在网上都比较好找,自己去下载即可. 大体的思路是这样,首先将json字符串先转化成NSDictionary,然后再通过参数是NSDictionary的初始化方法来生成相应的对象. 其中生成NSDictionary

java json字符串转JSONObject和JSONArray以及取值

import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { String joStr = "{name:\"张三\",age:\"20\"}"; //将json字符串转化为JSONObject JSONObject jsonObject = JSONObje

json字符串转换为JSONObject和JSONArray

一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";   String value1 = null;