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

        }

  

时间: 2024-10-10 09:24:56

Json串到json对象的转换的相关文章

Json对象与Json字符串的转化、JSON字符串与Java对象的转换

Json对象与Json字符串的转化.JSON字符串与Java对象的转换 一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)

JSON字符串与java对象的转换

所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar 1. 把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromObject(userlist); String jsonstr = array.toSt

Json串和java对象进行转时

json-lib-xxx.jarezmorph-xxx.jar  //=============>依赖包 JsonConfig config = new JsonConfig();//有选择性的过滤掉一些属性值 JSONUtils.getMorpherRegistry().registerMorpher( new DateMorpher(new String[] { "yyyy-MM-dd" }));//注册一个json转为java.util.date的日期格式 JSONObje

json串到java对象

json串到java对象 前端传入参数json字符串,格式如下: {"语文":"88","数学":"78","计算机":"99"} 如何取某个属性的值 例如:取语文的值 import com.alibaba.fastjson.JSONObject; public class Test { public static void main(String[] args) { String js

json串与java对象互转

Json与Bean互转,Timestamp类型的问题:http://blog.csdn.net/luckdog_hot/article/details/7880876 1)将java单个对象装换成json串 2)将java集合对象转换成json串 3:将json串装换成java单个对象 4)将json串装换成java集合对象

JSON 字符串 与 java 对象的转换

jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //json-lib-2.2-jdk15.jar import net.sf.json.JSONArray;import net.sf.json.JSONObject; 1. //把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromOb

json字符串到js对象的转换

window.onload = function () { var arrar = '{"programmer":['+'{"type":"beijing","jine":"126400","year":"12","qixian":"36"},' +'{"type":"shanghai",

使用FastJSON,将对象或数组和JSON串互转

Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库.其开源的下载网址为:https://github.com/AlibabaTech/fastjson. 示例代码如下: [java] view plaincopy package test; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; class User { private String 

JMeter用BeanShell获取复杂的JSON串中的某个参数的值

大家好,这篇博文中主要是介绍怎么用JMeter的BeanShell去获取复杂的JSON串中的某个参数的值,这将 便于我们用JMeter做出更完美的自动化测试: 首先有这样一个json串,如下图所示: 如上图中,画红框的部分,参数xsddbh(111807200000645300)的值可知,在下一个接口请求中,需要用到上图中的参数 cpbh(1532048096286)的值,然而参数xsddbh在json串中的每个list都有,那么这时候怎么办呢?在这里我将用alibaba.fastjson 这个