今天遇到同事的一个问题,感觉很有代表性,写出来大家一块分析下。
代码如下:
@ResponseBody @RequestMapping( "/getMHotelIdsBySupplierId" ) public List<String> getCodeIdByType(@RequestParam ("type" )String type){ List<String> motelIds = xxxxx; return modelIds; }然后这个代码如果被别的action调用
public List<String> getCodeIdByType(){ List<String> codes = JSON.parseArray(getCodeIdByType("type").toString(),String.class); System.out.println(codes); }这个地方的错误是他感觉返回的东西是一个json,比如:["0010","11000"]这样的,但其实对象转json是在序列化的时候做的,这种普通的调用返回的并不是json对象。
getCodeIdByType("type").toString()其实是[0010,11000],然后List<String>的结果是10,11000。 最明显的感觉是00丢了,但不报错。
从这个地方来看,有很多地方做了兼容,导致这个错误隐藏的非常深,首先List的toString方法完了后是一个逗号分隔的数组,这个其实放到json里面就是一个数字的数组,另外一个json解析的时候,里面的元素不是字符串,但是它还是解析了,按照数字的数组进行了解析,即使参数里面给了String,也没有报错。
所以正确的做法,直接调用就好,当然了,结果不是我们关注的,问题产生的原因还是挺好玩的。
相关推荐
综上所述,PB Json解析库是一个实用的工具,它解决了PB和JSON之间的互操作性问题,提高了数据交换的灵活性,促进了不同系统的协作。在实际项目中,合理运用这个库可以提升开发效率,降低系统间的集成难度。
JSON(JavaScript Object Notation...总的来说,这个精简的C语言JSON解析程序提供了一个轻量级的解决方案,适用于资源有限的单片机环境。开发者可以通过研究和改进这个项目,进一步提升在嵌入式系统中的JSON处理能力。
为了解决C语言在处理JSON时的不便,BeneJSON应运而生,它是一个专为C语言设计的高效、轻量级的JSON解析器。 BeneJSON的核心特点在于其速度和小巧的体积,这使得它在资源有限的环境中也能表现出色。作为一个C接口的...
在这个名为"JSON-js-master"的压缩包中,我们很可能是找到了一个JavaScript实现的JSON解析和序列化库的源代码。 在JavaScript中,JSON解析是将JSON格式的字符串转换为JavaScript对象的过程,这个过程也称为解码。...
总结起来,JSON解析在Java开发中起着至关重要的作用,不同的解析库提供了多样化的解决方案,以满足不同项目的需求。无论选择哪个库,理解和熟练掌握其使用方法都将有助于提升开发效率和代码质量。
在描述中提到的".net的 解析json",JSON.NET通常是一个首选工具。它支持JSON的解析、序列化、反序列化以及LINQ to JSON等功能。 1. 解析JSON: 使用`JsonConvert.DeserializeObject<T>`方法,你可以将一个JSON字符...
Elevate是一个专门针对Swift设计的高级JSON解析框架,它的目标是让JSON解析变得更简单、更可靠,并且具有高度的可组合性。 Elevate的核心理念是通过类型安全的方式来解析JSON,避免了传统的字符串匹配和强制类型...
LitJson是C#编程语言中一个轻量级的Json解析库,主要用来处理Json格式的数据。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写,同时也便于机器解析和生成,被广泛应用于...
幸运的是,随着“json解析助手”的出现,这一挑战得以有效应对。 “json解析助手”是一款功能强大的工具,它专注于将复杂的JSON数据以树状结构的形式可视化呈现。这样的可视化方法使得开发者可以直观地浏览JSON数据...
"IOS json解析"这个主题涵盖了如何在iOS应用中处理JSON数据,尤其是利用苹果内置的技术进行解析。本文将深入探讨JSON解析的基本概念、苹果提供的解析API以及如何在实际项目中运用。 首先,我们需要了解JSON的结构。...
总的来说,"pb解析json"是一个涉及数据序列化和反序列化的技术问题,作者通过纯代码的方式解决了从JSON到Protocol Buffers的转换,提供了高效且绿色的解决方案。对于需要处理大量数据交换的系统,这样的转换方法能...
标签“谷歌浏览器插件 JSON解析”再次强调了这是针对谷歌浏览器的一个工具,专注于JSON数据的处理。 在提供的压缩包子文件名列表中,"pkgccpejnmalmdinmhkkfafefagiiiad_2020.05.2810_chrome.zzzmh.cn.crx"看起来像...
标题提到的"Delphi_JSON delphi7解析JSON控件"是指一个专为Delphi 7设计的组件,它使得开发者能够方便地在Delphi 7应用中解析和生成JSON数据。 Delphi 7虽然发布于2005年,但至今仍有很多项目在使用。然而,原生的...
标题中的"pb_json解析、生成(修改)"指的是在PowerBuilder(简称PB)环境中处理JSON数据的相关操作,包括解析和生成JSON格式的数据,并可能涉及到对已有的解析或生成过程进行优化和修正,例如解决中文乱码问题。...
易语言水淼JSON解析模块提供了一个自主解析JSON数据的解决方案,这意味着它不依赖于其他外部库或组件,而是内建了完整的解析算法。这样的设计使得该模块在易语言环境中使用更加方便,同时也减少了依赖性问题。 该...
它基于JavaScript的一个子集,设计简洁、易读易写,同时也易于机器解析和生成。JSON格式通常用于服务器向客户端发送数据,例如在网页加载时获取数据或在API请求中传递参数。 本“Json解析demo”将详细介绍如何处理...
首先,我们需要一个JSON库,这里使用的是org.json.me库,它是一个轻量级的JSON解析库,适用于J2ME环境。以下是一个简单的JSONParser类的实现: ```java import java.util.Enumeration; import java.util.Hashtable;...
在Linux环境下,C语言是开发底层程序和系统级软件的常用工具,而JSON(JavaScript Object Notation)...同时,使用现有的开源库也是一个很好的选择,它们通常经过了广泛的测试和优化,可以提供更稳定和安全的解决方案。
Swift-Jsonify是一个专为Swift开发者设计的轻量级、易于使用的JSON解析框架,它极大地简化了在iOS、macOS、watchOS以及tvOS平台上处理JSON数据的过程。这个框架的目标是提供一个优雅、直观的API,让开发人员能够快速...
总的来说,EditPlus作为一个强大的文本编辑器,结合`editplus_json.js` 插件,为处理JSON数据提供了全面且便捷的解决方案。无论你是新手还是经验丰富的开发者,都能从中受益,提升JSON工作流程的效率。