Json串到json对象的转换

简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。

JSON(JavaScript Object Notation)

是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptStandard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式。

更多内容请见:http://www.json.org/

 

(一)标准格式

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 " ]);

 

其中jsonStringjson串,而jsonObjectjson对象

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
JavaScript 前端开发
JS正则表达式:常用正则手册/RegExp/正则积累(一)
JS正则表达式:常用正则手册/RegExp/正则积累
412 1
|
存储 关系型数据库 MySQL
达梦(DM)数据迁移工具
讲述达梦数据库迁移工具使用
|
Java
java中File的delete()方法删除文件失败的原因和解决方案
java中File的delete()方法删除文件失败的原因和解决方案
1426 0
|
1月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
647 11
|
机器学习/深度学习 数据采集 人工智能
TeleAI 开源星辰语义大模型-TeleChat2!
2024.9.20 中国电信人工智能研究院(TeleAI)开源TeleChat2-115B模型,该模型是首个完全国产算力训练并开源的千亿参数模型。
|
监控 Java 大数据
如何在Java中实现批量数据处理
如何在Java中实现批量数据处理
|
12月前
|
人工智能 自动驾驶 数据安全/隐私保护
人工智能的伦理困境:我们如何确保AI的道德发展?
【10月更文挑战第21天】随着人工智能(AI)技术的飞速发展,其在各行各业的应用日益广泛,从而引发了关于AI伦理和道德问题的讨论。本文将探讨AI伦理的核心问题,分析当前面临的挑战,并提出确保AI道德发展的建议措施。
|
前端开发 Java
成功解决:java.lang.String cannot be cast to java.lang.Integer
这篇文章记录了作者在使用Axios二次封装时遇到的一个Java类型转换问题,即前端传递的字符串参数不能直接转换为Integer类型,文章提供了正确的转换方法来解决这个问题。
成功解决:java.lang.String cannot be cast to java.lang.Integer
|
关系型数据库 MySQL 数据处理
针对MySQL亿级数据的高效插入策略与性能优化技巧
在处理MySQL亿级数据的高效插入和性能优化时,以上提到的策略和技巧可以显著提升数据处理速度,减少系统负担,并保持数据的稳定性和一致性。正确实施这些策略需要深入理解MySQL的工作原理和业务需求,以便做出最适合的配置调整。
1375 6
|
JSON Java 数据格式
Java系列之:如何取出嵌套JSON中的数据值
这篇文章介绍了如何在Java中取出嵌套JSON数据值的方法,通过使用`JSONObject`类及其`getJSONObject`和`get`方法来逐步解析和提取所需的数据。
Java系列之:如何取出嵌套JSON中的数据值