`

js json与字符串互转

 
阅读更多

 字符串转json ,Ext.decode

var data="{"id":"754975cdc482479b9ba2dff9c52a6b47","data":"","nd":"2013","initunitname":"国 家 统 计 局3","initunitcode":"","num0":"23",time":"2014-03-22 11:58:57","_openTime":1395471733216}
";
var  objData = Ext.decode(data);  
 

 json转字符串,Ext.encode

var json={"id":"754975cdc482479b9ba2dff9c52a6b47","data":"","nd":"2013","initunitname":"国 家 统 计 局3","initunitcode":"","num0":"23",time":"2014-03-22 11:58:57","_openTime":1395471733216}
var str=Ext.encode(json);

 将整个json赋值给表单

 setFormValues: function(values, resetDirty) {
            var ownerView = this.ownerView;
            var me = this;
            var form = me.getForm();
            var formId = form.id; //me.formComponentId;
            var _multipletypeValue = "";
            for (var o in values) {
                $("form[id='" + formId + "'] input[name='" + o + "']").each(function() {
                    if ($(this).attr('type') == 'text' || $(this).attr('type') == 'hidden') {
                        $(this).attr('value', values[o]);
                    }
                    else if ($(this).attr('type') == 'radio' & $(this).attr('value') == values[o]) {
                        $(this).attr('checked', "checked");
                    }
                    else if ($(this).attr('type') == 'checkbox' & $(this).attr('value') == values[o]) {
                        $(this).attr('checked', "checked");
                    }
                });
                $("form[id='" + formId + "'] textarea[name='" + o + "']").each(function() {
                    $(this).attr('value', values[o]);
                });
                if (values[o]) {
                    $("form[id='" + formId + "'] select[name='" + o + "']").each(function() {
                        $(this).attr('value', values[o]);
                    });
                }
                //只读状态时各个组件赋值
                $("form[id='" + formId + "'] span[name='" + o + "']").each(function() {
                    var formReadOnly = $(this).attr("formReadOnly");
                    if (me.editmode == "0" || (formReadOnly && formReadOnly == 'y')) {
                        if ($(this).attr("sType") != "codeeditor") {
                            var v = values[o];
                            if (Ext.isArray(v) || Ext.isObject(v)) {
                                v = "";
                            }
                            var localData = $(this).attr("localData");
                            if ($(this).attr("sType") == "multipletype" && localData) {
                                var excfun = $(this).attr('prefunctions');
                                if (excfun) { //调用预处理函数
                                    preExecuteFunction(me, values, $(this), "0");
                                }
                                else { //没有预处理函数
                                    if ($(this).attr("type") != "checkbox") {
                                        Ext.each(localData.split(","), function(item) {
                                            var tmp = item.split("|");
                                            if (tmp[0] == v) {
                                                v = tmp[1];
                                                return false;
                                            }
                                        });
                                    }
                                    else {
                                        var _av = v.split(",");
                                        if (!Ext.isArray(_av)) _av = [_av];
                                        v = $.map(_av, function(v) {
                                            var resv = "";
                                            Ext.each(localData.split(","), function(item) {
                                                var tmp = item.split("|");
                                                if (tmp[0] == v) {
                                                    resv = tmp[1];
                                                    return false;
                                                }
                                            });
                                            return resv;
                                        }).join(",");

                                    }
                                    if (Ext.isString(v)) this.innerHTML = v.replace(/\n/g, "<br/>").replace(/\s/g, "&nbsp;");
                                    else this.innerHTML = v;

                                }
                            }
                            else {
                                if (Ext.isString(v)) this.innerHTML = v.replace(/\n/g, "<br/>").replace(/\s/g, "&nbsp;");
                                else this.innerHTML = v;
                            }
                        }
                    }
                });
                //编辑状态高度自适应textinput组件赋值
                $("form[id='" + formId + "'] span[id='" + o + "_span'][contentEditable]").each(function() {
                    if ($(this).attr("sType") != "codeeditor") {
                        var v = values[o];
                        if (Ext.isArray(v) || Ext.isObject(v)) {
                            v = "";
                        }
                        if (Ext.isNumber(v)) v = v + "";
                        if (v) this.innerHTML = v.replace(/\n/g, "<br/>").replace(/\s/g, "&nbsp;");
                        //$(this).text(v.replace(/\n/g,"<br/>"));
                    }
                });

            }
            //预处理函数执行
            $("form[id='" + formId + "'] *[sType='codeeditor']").each(function(i) {
                preExecuteFunction(me, values, $(this), me.editmode);
            });
            $("form[id='" + formId + "'] *[sType='textinput']").each(function(i) {
                if (me.editmode) { //"0" "1"
                    preExecuteFunction(me, values, $(this), me.editmode);
                }
                else {
                    var formReadOnly = $(this).attr("formReadOnly");
                    if (formReadOnly == "y") //只读
                    preExecuteFunction(me, values, $(this), "0");
                    else preExecuteFunction(me, values, $(this), "1");
                }

            });
            if (resetDirty) {
                me._values = me.rendered ? me.getFormValues() : Ext.applyIf(values, me._originalFormData);
            }
            me.updateComputedText(50);
        }

 

分享到:
评论

相关推荐

    json2.js 字符串转转json对象工具

    总的来说,json2.js是解决JSON处理兼容性问题的一个工具,它提供了一种安全且标准化的方式来在JavaScript中进行JSON字符串与对象之间的转换,尤其对于那些不支持原生JSON操作的老版本浏览器而言。

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    实现Object对象与Json字符串的互转"深入探讨了如何使用`JSONObject`来处理这种转换。 首先,我们需要了解`JSONObject`的基本用法。`JSONObject`可以从一个Java对象创建,也可以解析为一个JSON字符串。例如,我们有...

    json对象与字符串互转

    JavaScript提供了`JSON.stringify()`方法来将一个JavaScript值(包括对象或数组)转换为JSON字符串。这个方法可以接收三个参数: - 要转换的值。 - 一个可选的替换函数,用于过滤或修改转换的结果。 - 一个可选...

    js json字符串转对象

    总结来说,JSON字符串转对象是JavaScript中常见的操作,通过`JSON.parse()`函数可以方便地实现这一转换。了解并掌握这一功能对于进行Web开发至关重要,尤其是在与服务器进行数据交互时。同时,了解不同编程语言中...

    C实现的 json格式字符串与结构体转化

    以上代码示例展示了如何利用`cjson`库进行JSON字符串与C结构体之间的转化。这个功能对于需要频繁处理JSON数据的C程序来说非常实用,简化了数据处理的复杂度,降低了出错的可能性。在实际项目中,可能还需要考虑错误...

    (Java)json和String互转必备Jar包

    然而,Java原生并不支持直接将JSON字符串与Java对象进行转换,因此我们需要依赖第三方库来实现这一功能。本资源提供的"(Java)json和String互转必备Jar包"就是为了满足这种需求。 这个Jar包包含了一些关键的API和...

    json_lib使用实例:java对象与json字符串的互转

    JSON(JavaScript Object...通过其提供的API,我们可以方便地进行JSON字符串与Java对象之间的双向转换,同时还能处理各种复杂的数据结构。在实际开发中,掌握这些知识对于进行Web服务开发、API接口设计等工作至关重要。

    js页面字符串转json对象

    js页面字符串转json对象

    C语言实现的 json格式字符串与结构体自动相互转化

    2. test.c:测试文件,用于验证和调试代码功能,确保JSON字符串与结构体之间的转化正确无误。 3. cJSON.h 和 cJSON_Direct.h:头文件,定义了库的接口,供其他模块调用。 4. README:通常包含项目介绍、使用方法、...

    java对象转换为json字符串或字符串数组

    在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    asp字符串转json对象类

    由于ASP.NET框架默认不包含JSON支持,因此在纯ASP环境下,我们需要自己编写或者寻找已经存在的VBScript函数来实现JSON字符串到对象的转换。题目中提到的"asp字符串转json对象类"就是这样一个功能,它允许开发者将...

    androidmap转json字符串、list转json字符串工具类.zip

    首先,让我们详细了解Map对象转JSON字符串。Map是一种键值对的数据结构,它允许我们通过一个键(key)来访问对应的值(value)。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于存储和传输...

    json转化工具,字符串格式化工具,方便又快捷

    本工具专注于JSON的转化和格式化,旨在提供一个方便快捷的方式来处理JSON字符串,便于开发者进行数据分析和问题排查。 1. JSON的结构与基本元素: JSON由对象(Object)和数组(Array)两种基本类型构成。对象由...

    将string类型xml字符串转为json字符串

    本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...

    使用json-lib将java对象转换成json字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    由php对象生成json字符串 把php对象变成json字符串.zip

    在这个例子中,我们创建了一个关联数组,然后使用json_encode()将其转换为JSON字符串。结果将是: ```json { "name": "John Doe", "age": 30, "city": "New York" } ``` 如果你需要处理的对象是PHP类的实例,...

    js中的json对象和字符串之间的转化

    2. **字符串与JSON对象之间的转化**:JavaScript提供了两个内置函数来实现这种转化:`JSON.stringify()`用于将JavaScript对象转换为JSON字符串,`JSON.parse()`用于将JSON字符串转换回JavaScript对象。 **描述中的...

    JS解析json格式字符串

    JS解析json格式字符串最简便方法,利用javaScript内置eval函数来实现

    json字符串转换c++类对象

    本篇文章将深入探讨如何将JSON字符串转换为C++类对象,以实现数据的有效操作和管理。 首先,我们需要一个库来解析JSON字符串。在C++中,有许多流行的JSON库可供选择,例如nlohmann/json、jsoncpp、RapidJSON等。...

    json特殊字符串转换

    与`JSON.stringify()`相对应,`JSON.parse()`用于将JSON字符串解析为JavaScript对象。在解析过程中,它会自动解码转义的特殊字符。例如: ```javascript let jsonString = '{"name":"John \"Doe\""}'; let obj = ...

Global site tag (gtag.js) - Google Analytics