JOSN对象与JSON字符串的相互转化
前端在与服务端通信时.会与JSON JSON字符串经常打交道.
什么是JSON? 如果不太清楚可以点击这里
服务端传过来的数据一般都是一串字符串,jQuery AJAX中的success函数的第一个形参是一个JSON对象,其实在里面也是由字符串转化来的
一,JSON对象转为为JSON字符串
JavaScript里面有内置的JSON.stringfiy函数,但是只兼容IE8及以上,对于需要兼容IE7的网站还是要手写的
代码如下,没有对特殊的字符串进行处理,如果有需要可以自己添加一个过滤函数
var stringfiy = function (obj) {
function str(key, holder) {
var value = holder[key], v = "", partical = [];
var type = toString.call(value).replace(/^\[object\s(\w+)\]$/i, function(str, $1){
return $1.toLowerCase();
});
switch (type) {
case "number":
return String(value);
case "string":
return quote(value);
case "boolean":
return String(value);
case "null" :
return "null";
case "array":
var len = value.length;
for (var i = 0; i < len; i++ ) {
partical.push(str(i, value));
}
return "[" + partical.join(",") + "]";
case "object" :
for (var p in value) {
partical.push("\"" + p +"\":"+str(p, value));
}
return "{" + partical.join(",") + "}";
}
}
return str("", {"": obj}) ;
};
二, JSON字符串转化JSON对象
JavaScript里面也有JSON.parse方法,兼容性与JSON.stringify是相同的,而且他不能解析非标准的JSON对象
一,使用eval
function evalJson(text) {
var obj = null;
try {
if (/^\s*\{/.test(text)) {
text = "(" + text + ")";
}
obj = eval(text);
} catch (e) { }
return obj;
}
JOSN对象与JSON字符串的相互转化的更多相关文章
- JavaScript中JSON对象和JSON字符串的相互转化
一.JSON字符串转换为JSON对象 var str = '{"name":"cxh","sex":"man",&quo ...
- JS中JSON对象和JSON字符串的相互转化
转:http://www.cnblogs.com/wbyp/p/7086318.html 一.JSON字符串转换为JSON对象 var str = '{"name":"c ...
- fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化
fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化 在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串 ...
- 使用Google的Gson实现对象和json字符串之间的转换
使用Google的Gson实现对象和json字符串之间的转换 需要gson.jar 1.JsonUtil.java package com.snail.json; import java.lang.r ...
- jQuery中json对象与json字符串互换
json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 根据“|”把字符串变成数组.spli ...
- 前端页面使用 Json对象与Json字符串之间的互相转换
前言 在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下! 一:Json对象转换为json ...
- Json对象与Json字符串互转(转载)
一.jQuery插件支持的转换方式 1 $.paseJSON(jsonstr);//将json字符串转换为json对象 二.浏览器支持的转换方式(Firefox,Chrome,Opera,Safair ...
- [TypeScript] TypeScript对象转JSON字符串范例
[TypeScript] TypeScript对象转JSON字符串范例 Playground http://tinyurl.com/njbrnrv Samples class DataTable { ...
- json对象和json字符串有啥区别啊
json对象可以通过javascript存取属性!json对象装成json字符串经常用于前后台传输数据! 如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了 ...
随机推荐
- 用js判断操作系统和浏览器类型
判断操作系统和浏览器的js代码 navigator.userAgent:userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. navigator.pla ...
- SpringMVC源码解析 - HandlerMethod
HandlerMethod及子类主要用于封装方法调用相关信息,子类还提供调用,参数准备和返回值处理的职责. 分析下各个类的职责吧(顺便做分析目录): HandlerMethod 封装方法定义相关的信息 ...
- 编程实现改变win7主题
一 : 解析问题 1. Windows 7 主题在:%windir%\Resources\Themes : 2: 我们通过shell 命令 (这个是msdn中提到的) rundll32.exe ...
- Entity Framework 学习初级篇2--ObjectContext类的介绍
转自:http://www.cnblogs.com/Tally/archive/2012/09/14/2685014.html 本节,简单的介绍EF中的ObjectContext.ObjectQuer ...
- Windows 8/8.1系统下硬盘占用率100%的问题解决思路汇总
家庭组 2.关闭虚拟内存 3.关闭Windows 8快速开机功能 4.服务进程superfetch 5.系统下软件排除 操作步骤: 1.Windows 8系统的家庭组方便多人不用存储设备就能在局域网中 ...
- 【好文转载c++】 sizeof 使用的经典总结
为了在人面前畅快的吹牛逼,你必须学会背后努力 -----张小二. 写在转载之前: sizeof到底是多少?本来我没有关注,只是有次室友问了我几个sizeof的问题,我被问住了,他当时问我了sizeo ...
- Ubuntu---2
1.Ubuntu学习笔记之:安装中文语言包 http://askubuntu.com/questions/59356/how-do-i-get-chinese-input-to-work
- Bzoj 2346: [Baltic 2011]Lamp dijkstra,堆
2346: [Baltic 2011]Lamp Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 428 Solved: 179[Submit][Sta ...
- [SAM4N学习笔记]SAM4N工程模板搭建
一.需要安装的软件: 因为笔者是使用MDK-ARM开发的版本是4.72,所以需要安装这个工具,具体在哪里下载自行放狗或问度娘.除了这个重要工具以为,还需要安装Atmel官方的Atmel Studio, ...
- Java中static和final的区别
static是静态修饰关键字,可以修饰变量和程序块以及类方法: 当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存: 当修饰一个程序 ...