Json格式在当前的Web项目开发中已经越来越重要,面对Json格式,我们时常需要将Json格式的数据转换成字符串形式,或者将字符串形式的数据转换为Json对象的数据。
在Java后台中,这种相互转换的工具已经有很多,例如:org.json,fastjson,gson等等,不胜枚举。所以这里不对此进行探讨,这里主要给出一个在天台中进行json和string进行转换的解决方案。
Json转换帮助类:
var JsonUtils = function(){
var cache = [];
var _json2String = function(jsonObj){
var type = typeof jsonObj;
if('object' == type){
if(Array == jsonObj.constructor){
type = "array";
}else if(RegExp == jsonObj.constructor){
type = "regexp";
}else{
type = "object";
}
}
switch(type){
case 'undefined' :
case 'unknown' :
return;
case 'function' :
case 'boolean' :
case 'regexp' :
return jsonObj.toString();
case 'number' :
return isFinite(jsonObj) ? jsonObj.toString() : 'null';
case 'string' :
return '"' + jsonObj.replace(/(\\|\")/g, "\\$1").replace(/\n|\t|\r/g, function(){
var a = arguments[0];
return (a == '\n')? '\\n' : (a == '\r') ? '\\r' : (a == '\t') ? '\\t' : "";
}) + '"';
case 'object' :
if(jsonObj === null)
return 'null';
var results = [];
for(var property in jsonObj){
if('parentNode' == property)
continue;
var value = _json2String(jsonObj[property]);
if(value != undefined){
var temp = _json2String(property);
results.push(temp + ':' + value);
}
}
return '{' + results.join(',') + '}';
case 'array' :
var results = [];
for(var i = 0; i < jsonObj.length; i += 1){
if(_isCache(jsonObj[i].tId)){
continue;
}else{
cache.push(jsonObj[i].tId);
var value = _json2String(jsonObj[i]);
if(value !== undefined){
results.push(value);
}
}
}
return '[' + results.join(',') + ']';
}
};
var _isCache = function(currentId){
for(var i = 0; i< cache.length; i += 1){
if(currentId === cache[i] ){
return true;
}
}
return false;
};
var _jsonStr2JsonObj = function(jsonStr){
try{
return $.parseJSON(jsonStr);
}catch(e){
throw "parse json string error";
}
};
return{
jsonStr2JsonObj : function(jsonStr){
return _jsonStr2JsonObj(jsonStr);
},
json2String : function(jsonObj){
return _json2String(jsonObj);
}
};
}();
测试代码:
var json = {'id' : '123'};
var jsonStr = JsonUtils.json2String(json);
alert(jsonStr);
分享到:
相关推荐
网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式传到界面上。这样js里面操作也简单,页面也没有影响。 解决: 将List<String> 转成json,传到界面。js中使用var arr = eval(‘${list}’);将list转成...
在Spring框架中,Spring MVC是构建Web应用程序的模型视图控制器(MVC)实现。...本知识点将详细解释Spring MVC中图片上传以及JSON...这些知识点为Web开发人员提供了基于Spring MVC框架的文件上传和数据交互的解决方案。
这种方法适用于 JSON 格式的请求体,通过 `@RequestBody` 注解,Spring MVC 可以自动将请求体中的 JSON 数据转换为 Java 对象。 #### 总结 以上介绍了三种解决 Spring MVC 无法直接接收 List 类型参数的方法。这些...
它是目前比较流行的企业业务整合的解决方案之一。 用户登录: 1、接收用户名和密码 2、校验用户名密码 3、生成token,可以使用UUID 4、把用户信息写入redis,key就是token 5、把token写入cookie。 6、返回...
解决方案 要解决表单post,get到springMVC后台乱码的问题,需要在多个方面进行调整: 1. 前台表单编码:在前台表单中,需要指定编码方式为 UTF-8,例如在 HTML 中添加 `<meta charset="UTF-8">`。 2. Spring MVC ...
本篇文章将深入探讨这个问题,并提供解决方案。 首先,我们需要理解JS与Controller之间的通信机制。在大多数情况下,这种通信是通过HTTP请求实现的,尤其是使用Ajax技术。Ajax(Asynchronous JavaScript and XML)...
在描述中提到,有的解决方案是将返回的数据转换为JSON对象,比如使用`JSONObject`类(可能是Java的org.json库),然后逐个字段填充。但这种方法可能显得较为繁琐,尤其是在处理大量数据或频繁调用API的情况下。 ...
另一种解决方案是调整后端代码以处理JSON数据。在Spring MVC中,可以使用`@RequestBody`注解来解析JSON对象: ```java // 修改后的Java Spring MVC 示例 @PostMapping("/loginForm") public ResponseEntity<User> ...
- **大数据量访问解决方案**:缓存策略、分库分表、读写分离等。 - **遇到的问题及解决办法**:技术难题、团队合作、时间管理等方面。 - **项目收获**:个人成长、团队协作经验等。 - **构建工具与模块划分**:构建...
注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail...
注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail...