精华内容
下载资源
问答
  • string类型的xml转为JSON字符串,利用JSONObject处理JSON串
  • String类型json字符串转换为java对象

    千次阅读 2019-07-08 19:22:15
    JSON字符串转换为JAVA对象数组 JSONArray json = JSONArray.fromObject(userStr);//userStr是json字符串 List<Myclass> myclasses = (List)JSONArray.toCollection(json,Myclass.class); 相关依赖: ...

    1,import com.fasterxml.jackson.databind.ObjectMapper;

    ObjectMapper mapper = new ObjectMapper();

    Myclass myclass = mapper.readValue(jsonStr , Myclass.class); //这里Myclass是我自己定义的类,里面有一系列的属性字段。jsonStr是需要传入的json参数

    2,import com.alibaba.fastjson.JSONObject;

    Myclass myclass = JSONObject.parseObject(jsonStr , Myclass.class);// jsonStr 是String类型。

    3,import net.sf.json.JSONObject;

    JSONObject jsonobject = JSONObject.fromObject(jsonStr);

    Myclass myclass = (MYclass)JSONObject.toBean(jsonobject,Myclass.class);

    4,import net.sf.json.JSONArray;

    把JSON字符串转换为JAVA对象数组

    JSONArray json = JSONArray.fromObject(userStr);//userStr是json字符串

    List<Myclass> myclasses = (List<Myclass>)JSONArray.toCollection(json,Myclass.class);

    相关依赖:

    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
    </dependency>
    展开全文
  • 由于前端框架原因,后端post请求一致用applition/json 请求。对于后端而言实体类需要加上@RequestBody注解,但是有时候修改接口等只需要一两个参数,如果将其分装为实体,费时费力。因此可以自己写一个参数处理器。 ...

    原因

    由于前端框架原因,后端post请求一致用applition/json 请求。对于后端而言实体类需要加上@RequestBody注解,但是有时候修改接口等只需要一两个参数,如果将其分装为实体,费时费力。因此可以自己写一个参数处理器。

    解决

    可以自己写一个参数处理器。实现HandlerMethodArgumentResolver接口,再将其配置到WebMvcConfigurer类中的参数处理集合当中。

    具体代码

    1. 注解:
    /**
     * tip:只支持application/json格式下 的基本数据类型包装类,和Sring
     *
     */
    @Target(ElementType.PARAMETER)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface JsonParam {
        /**
         * 值
         */
        String value() default "";
    
        /**
         * 是否必须
         */
        boolean require() default false;
    }
    
    1. 参数处理器:
    /**
     * 参数转换(POST,默认前端以JSON形式提交)
     */
    public class Json2ParamsHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {
    
        private static final Logger LOG = LoggerUtils.getLogger(Json2ParamsHandlerMethodArgumentResolver.class);
    
        /**
         * key
         */
        private static final String JSON_BODY_KEY = "JSON_BODY_KEY";
    
        @Override
        public boolean supportsParameter(MethodParameter parameter) {
            return parameter.hasParameterAnnotation(JsonParam.class);
        }
    
    
        @Override
        public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
                                      NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
            // 获取jsonNode
            JsonNode jsonNode = getJsonBody(webRequest);
    
            JsonParam requestSingleParam = parameter.getParameterAnnotation(JsonParam.class);
            // 名
            String value = determineParamName(parameter, requestSingleParam);
            // 结果
            JsonNode paramValue = jsonNode.get(value);
            // 是否必须
            boolean require = requestSingleParam.require();
            if (paramValue == null && require) {
                throw new ServerException("parameter[" + value + "]不能为空。");
            }
    
            if (paramValue == null) {
                return null;
            }
            Class<?> parameterType = parameter.getParameterType();
            Constructor<?> constructor = parameterType.getConstructor(String.class);
            Object param = null;
            try {
                param = constructor.newInstance(paramValue.asText());
            } catch (Exception e) {
                LOG.error("bind method parameters error", e);
                throw new ServerException("parameter[" + value + "] format error for input value[" + paramValue.toString() + "]");
            }
            return param;
        }
    
        private String determineParamName(MethodParameter parameter, JsonParam requestSingleParam) {
            String value = requestSingleParam.value();
            if (BaseVaildedUtils.isEmpty(value)) {
                value = parameter.getParameterName();
            }
            return value;
        }
    
        private JsonNode getJsonBody(NativeWebRequest webRequest) {
    
            // 有就直接获取
            String jsonBody = (String) webRequest.getAttribute(JSON_BODY_KEY, NativeWebRequest.SCOPE_REQUEST);
            // 没有就从请求中读取
            if (jsonBody == null) {
                try {
                    HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class);
                    jsonBody = IOUtils.toString(servletRequest.getReader());
                    webRequest.setAttribute(JSON_BODY_KEY, jsonBody, NativeWebRequest.SCOPE_REQUEST);
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return JsonUtil.parseObject(jsonBody);
        }
    
    }
    
    1. 配置类:
    @Configuration
    public class BaseMvcConfig implements WebMvcConfigurer {
    
        @Override
        public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
            resolvers.add(new Json2ParamsHandlerMethodArgumentResolver());
        }
    }
    

    结语:

    这样就可以使用@JsonParam 来标记基础类型包装类(包括String)的参数,来实现Application/json的方式提交json字符串无法接受的问题了。
    tip: 上述代码其实可以和@RequestBody的解析器合并成同一个,这样使用体验更佳。因为时间关系,暂时没做研究。

    展开全文
  • 用到gson-1.6.jar包,很容易的将实体类对象数据转化为JSON字符串,同理将json字符串转化为实体类对象数据。demo里面都有介绍,希望对大家有帮助。
  • 实现JSON数据类型String类型数据相互转换
  • String字符串json

    千次阅读 2020-03-05 21:00:19
    Django使用json.dumps({‘xxxx’:yyy})发送给前端之后是json字符串的形式,不能作为js对象来访问,应该先将json字符串转为json对象才能访问其属性: 1.后端组装json字符串: 2.前端将接收到的响应字符串用Json....

    Django使用json.dumps({‘xxxx’:yyy})发送给前端之后是json字符串的形式,不能作为js对象来访问,应该先将json字符串转为json对象才能访问其属性:
    1.后端组装json字符串:
    在这里插入图片描述
    在这里插入图片描述
    2.前端将接收到的响应字符串用Json.parse()转化为json对象再进行访问:
    在这里插入图片描述

    展开全文
  • xml格式的String字符串转json字符串

    千次阅读 2019-01-24 18:58:25
    org.json&lt;/groupId&gt; &lt;artifactId&gt;json&lt;/artifactId&gt; &lt;version&gt;20180130&lt;/version&gt; &lt;/dependency&gt; 2.java 代

    1.引入pom依赖

    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20180130</version>
    </dependency>
    

    2.java 代码

    org.json.JSONObject object = XML.toJSONObject(result);
    String jsonData = object.get("epay").toString();
    com.alibaba.fastjsonJSONObject resultJSON = JSON.parseObject(jsonData);
    
    展开全文
  • json字符串嵌套json字符串的解析取值

    千次阅读 2020-04-09 14:11:43
    一.转换方式介绍 1.浏览器支持的转换方式: (1)JSON.stringify(obj)将JSON转化为字符串。 (2)JSON.parse(string)将字符串转为JSON...注意:需要在json字符串外包裹一对小括号,ie8(兼容模式),ie7和ie6也可以使...
  • 直接上代码: public static void ...String,String&amp;gt; map = new HashMap&amp;lt;&amp;gt;(); map.put(&quot;id&quot;,&quot;1&quot;); map.put(&quot;openId&qu
  • iOS swift3-把String字符串转化为JSON数据格式的字符串 解析 subString方法,index参数
  • java中String类型json数据处理

    千次阅读 2019-06-28 16:03:27
    开发过程中很多请求结果是json格式,需要对结果进行处理,此处做简单的记录: 我引入的json包是: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</...
  • Golang String字符串类型Json格式

    千次阅读 2021-03-21 20:50:12
    go的string字符串格式转json格式 确实有点麻烦,如果不知道json里面的类型好像就构建不了结构体了。 package main import ( "encoding/json" "fmt" ) type Data struct { Status int `json:"status"` Msg int ...
  • json字符串转换c++类对象

    热门讨论 2014-05-09 17:37:10
    json 字符串转成c++类对象,json 字符串转成c++类对象
  • 解析json字符串有两种格式: (1)一种是单一的json字符串,如:{"a" : "aa", "b" : "bb"} 单一的一条json字符串,则采用如下方法: string jsonText = @"{""input"" : ""value"", ""output"" : ""result""}"; ...
  • 添加引用  using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System.Collections.Generic;...string jsonText = {"Total":"0", "Rows": [ { "id":"31", "project":"6", "project_name":"4.【综合业务
  • Java String字符串Json

    万次阅读 多人点赞 2019-08-28 13:46:04
    public static void main( String[] args ){ String res = "{"result": "success","msg": "登陆成功"}" JSONObject jsonObject = JSONObject.parseObject(res); System.out.println(jsonObject....
  • java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON。 这是在Java中测试和学习解析JSON字符串的最...
  • public static String map2Json(Map map) { if (map == null) { return "{}"; } else { Set keys = map.keySet(); StringBuffer jsonBuffer = new StringBuffer(); jsonBuffer.append("{"); ...
  • C#对象转json字符串,C#json字符串转对象,C#DataTable对象转json字符串,C#把集合转成DataTable
  • 1.如果json是List对象转换的,可以直接遍历json,读取数据。 2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示: ? 1 2 3 var jsonStr = JSON.stringify(list...
  • JSON字符串的几种格式

    千次阅读 2021-02-24 14:07:06
    2.JSON字符串({ “key” : “value”}) { "key" : "我爱你", "key1" : "一生一世" } 3.JSON数组({ “key” : [value]}) { "key" : [520, 1314], "key1" : [520, 3344] } 4.JSON对象({ “key” : {value}}
  • json字符串解析与类型转换

    千次阅读 2018-09-30 10:18:53
    json字符串解析与类型转换示例 HTTP请求的返回值通常是以json字符串的形式,服务端在接收到返回值时,需要解析返回值得到想要的结果,包括状态码、数据等。这里介绍一下如何解析json字符串,获取其中的参数,以及将...
  • 对象转json字符串 string jsStr=Newtonsoft.Json.JsonConvert.SerializeObject(对象) json字符串转对象 User user=JsonConvert.DeserializeObject<User>("json字符串");
  • object转化为json字符串 var data = new Object(); var jsonData = JSON.stringify(data); json字符串转为js对象 var jsonObj = eval(jsonStr);
  • json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串: var data = '{ "...
  • 字符串JsonJson字符串

    万次阅读 2019-05-20 14:11:03
    1 JSON.parse()用于从一个字符串中解析出json对象,样例如下: // 单引号写在{}外,每个属性(非数字)都必须双引号,否则会抛出异常 var student = ‘{“id”:“12345678”,“name”:“xxx”, “age”:18}’ JSON....
  • Hive处理JSON字符串

    千次阅读 2019-04-22 22:51:10
    hive处理JSON字符串,有固定的get_json_object函数可以使用 测试数据 {"store":{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":19.951,"color":"red1"}},"email":"amy@...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 308,918
精华内容 123,567
关键字:

string类型的json字符串