Json串到json对象的转换
JSON(JavaScript Object Notation) JS对象符号
是一种轻量级的数据交换格式
JavaScript eval()函数实现
(一) 标准格式
function JsonFormatting() {
var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
var tt = '';
$.each(jsonObject,function(k, v) {
tt += k + ":" + v+"<br/>";
});
$("#divmessage").html(tt); }
这种写法就是key值用双引号包围。这种格式可以叫做json串。通过eval函数将json串转换为json对象。
(二) 简写格式
function JsonFormatting() {
var jsonString = '{Unid:"1",CustomerName:"宋江",Age:"33"}';
var jsonObject = eval('(' + jsonString + ')');
var tt = '';
$.each(jsonObject,function(k, v) {
tt += k + ":" + v+"<br/>";
});
$("#divmessage").html(tt);
}
key值省略引号,通过eval函数将json串转换成json对象,然后可以通过两种方式访问:
@1. 点语法 object.property
var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
alert(jsonObject.CustomerName);
@2. 键值对索引
Object[key]
var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
alert(jsonObject["CustomerName"]);
eval函数说明:
它可以把一个字符串当作一个JavaScript表达式一样去执行。
eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。
如果s语句执行结果是一个值,则返回此值,否则返回undefined。对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值。
function EvalTest() {
var code1 = '"a" + 2'; //表达式
var code2 = '{a:2}'; //语句
alert(eval(code1)); //输出a2
alert(eval(code2)); //输出undefined
alert(eval('(' + code2 + ')')); //输出[object Object]
}
对于对象声明语句来说,仅仅是执行,并不能返回值。
为了返回常用的“{}”这样的对象声明语句,必须用括号括住,以将其转换为表达式,才能返回其值。
为jquery添加从json串到json对象的转换方法。
打开库,找到jQuery.extend({
添加方法
jsonToObject: function(a) {
return eval('(' + a + ')');
},
使用如下:
var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = $.jsonToObject(jsonString);
alert(jsonObject["CustomerName"]);
其中jsonString为json串,而jsonObject为json对象
jQuery实现
$.parseJSON("jsonstr"); 将json字符串转换成json对象
利用json.js包插件
var obj = JSON.parse(strJSON);
JSON对象转json字符串
var str = JSON.stringify(obj) 需要导入json.js包
function JsonFormatting() {
var jsonObject = {"Unid":"1","CustomerName":"宋江","Age":"33"};
var jsstr=JSON.stringify(jsonObject);
alert(typeof jsstr);
}
Json串到json对象的转换的更多相关文章
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- JSON串、JSON对象、Java对象的相互转换
对象类型转换2: com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSO ...
- json串到java对象
json串到java对象 前端传入参数json字符串,格式如下: {"语文":"88","数学":"78"," ...
- SpringMVC Jackson 库解析 json 串属性名大小写自动转换问题
问题描述 在项目开发中,当实体类和表中定义的某个字段为 RMBPrice,首字母是大写的,sql 查询出来的列名也是大写的 RMBPrice,但是使用 jquery 的 ajax 返回请求响应时却出错 ...
- JSON字符串与java对象的转换
所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar ...
- JSON 字符串 与 java 对象的转换
jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...
- 类对象序列化为json串,json串反序列化为类对象
1.类对象序列化为json串: 方法一: class P(object): def __init__(self,name,age,sex): self.name=name self.age=age s ...
- javascript把json串转成对象
// 这个是待转的json串 var jstr = "{'a':100,'b':'aaa'}"; // 经过下面语句把这个语句描述的对象数据,赋给这个m对象了 eval (&quo ...
随机推荐
- C++Primer第5版学习笔记(一)
C++Primer第5版学习笔记(一) 第一.二章的重难点内容 这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...
- ural 1333 化平面为点计算覆盖率
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1333 #include<cstdio> #include<cstrin ...
- hibernate一对多关系映射(自身关联)
示例:一个类别(Category)下面有多个子类别,多个子类别属于同一个父类别. public class Category { private Integer id; private String ...
- java web实现 忘记密码(找回密码)功能及代码
java web实现 忘记密码(找回密码)功能及代码 (一).总体思路 (二).部分截图 (三).部分代码 (一).总体思路: 1.在 找回密码页面 录入 姓名.邮箱和验证码,录入后点击[提交]按钮, ...
- 【设计模式 - 18】之备忘录模式(Memento)
1 模式简介 备忘录模式的定义: 备忘录模式保存一个对象的某个状态,以便在适当的时候恢复对象,用作"后悔药",即取消上次操作或返回到以前的某个版本. 备忘录模式的应用实例 ...
- [置顶] 获取激活码,激活myeclipse
myeclipse10.0 正式版下载地址: http://downloads.myeclipseide.com/downloads/products/eworkbench/indigo/instal ...
- [AngularJS] Default Child state and nav between child state
Let's say we want a parent state which is a abstract state. Two children states, one is for sinlge a ...
- GNU GRUB version 0.97 (630K lower /2053824K upper memory)
昨天把老板的IBM X61笔记本拿过来多系统,结果本以为很容易,直接ghost,结果悲剧发生啦,开机之后提示GNU GRUB version 0.97 (630K lower /2053824K up ...
- android开发之AlertDialog点击按钮之后不消失 分类: android 学习笔记 2015-07-15 18:07 89人阅读 评论(0) 收藏
最近有这样一个需求,我需要用户在一个弹出框里输入密码来验证,验证成功当然好说,但是如果验证失败则需要把alertdialog的标题改为"密码错误,请重新输入",并且这个alertd ...
- Android开发报错系列(一),java.lang.NullPointerException,at android.widget.ListView.setupChild
问题描述:运行代码是报空指针错误,java.lang.NullPointerException,at Android.widget.ListView.setupChild 问题定位:listview控 ...