JS-json-1

smarty模板要处理成ajax,所以需要重新拼接一个html来追加节点。

原先smarty的数组现在需要处理成json数据返回了,服务器端的改动比较小:

header("Content-type : application/json")
echo json_encode($arr);

前台的处理也很简单

$.ajax({
    url : "http://example.com",
    type : "GET",
    dataType : json,
    data : {
        //some data
    },
    success : function(data){
        //blog theme
    }
});

上面都是废话,说了那么多,但是不保证正确,手头没有文档,所以瞎写了个样子。下面是主题:

错误1:

有时候json返回的格式是这样的

{
"210" : {a,b,c},
"220" : {"a" : 110 , "b" : "lolo"}
}

那如果我使用

for(var i = 0; i < data.length; i++ )

这种方式是会报错的,因为data没有length属性。如何遍历了,应该使用:

for(var obj in data)

:印象里这是用来遍历对象的属性是否存在的。

需要明确提出的是obj代表的是key,所以你访问的时候其实是需要:

data[obj]

但这又明显是数组的访问方式。

错误2:

var img = data.img;
var imgLen = data.img.length;

如果img属性不存,返回undefined对象。这里undefined对象并没有length属性。我屏蔽的时候使用

if(!data.img.length)

这样其实是不可以的,因为他本身就是一个错误。

推荐json的一个插件json-handle

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 04:18:41

JS-json-1的相关文章

js JSON

1. 语法 JSON 的语法可以表示三种类型的值. 简单值 : 可以在 JSON 中表示字符串.数值.布尔值和 null,字符串必须用双引号. 对象 : 表示的是一组有序的键值对,对象的属性必须用双引号. 数组 : 数组的值也可以是任意类型--简单值.对象或数组. JSON 对象 JSON 对象有两上方法 stringify()         把 js 对象序列化为 JSON 字符串,如果值为undefined, 则删除对应的键值对. parse()              把 JOSN 字

js+json+webservice(List&lt;&gt;作为参数)

client端: function Save(){ var data_temp = convert_To_Json(checkbox_selected()); //alert(data_temp); $.ajax({ type: "post", contentType: "application/json", url: WebServiceUrl + "/CreateOrder_CreateSO", data: '{"list"

JS json对象(Object)和字符串(String)互转方法

[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 string -> jsonObj JSON.parse(jsonString); jsonObj -> string JSON.stringify(jsArr); 记录一下 原文地址:https://www.cnblogs.com/d-i-p/p/11025164.html

js : json和 cookie 的简单操作

使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script src="./jquery.min.js"></script> &l

js/json数据类型补充

0.JSON格式:Ⅰ.json对象,Ⅱ.json字符串 var u = eval('('+user+')'); //return   json对象 1.对于服务器返回的JSON字符串,如果jQuery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次.这种方式也适合以普通javascipt方式获取json对象,以下举例说明: var u = eval('('+user+')'); 为什么要 eval这里要添加('('+u

js json 与字符串 转换过程由于书写不统一规范引发的一个问题

对于两个字符串: 字符串1:{title:{},tooltip:{trigger:"axis"},legend:{data:["新关注人数"]},calculable:true,xAxis:[{type:"category",boundaryGap:false,data:["2016-01-01","2016-01-02","2016-01-03","2016-01-04&qu

js json 对象相互转换

字符串转对象(strJSON代表json字符串)   var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.parse(strJSON): json对象转字符串(obj代表json对象) var str = obj.toJSONString(); var str = JSON.stringify(obj) 运用时候需要除了eval()以外需要json.js包(切记哦) 注意使用 eval 需要这样转换 eva

js+json实现ajax实例

前期准备: 安装wampserver或者其他相似软件来搭建本地集成安装环境 html.js.css等文件需要放置在wampserver中的www目录中,默认运行index页面 bootstrap.css 界面截图: HTML代码(基于bootstrap): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index&

js json string 互转

字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.parse(strJSON): json对象转字符串(obj代表json对象) var str = obj.toJSONString(); var str = JSON.stringify(obj) 运用时候需要除了eval()以外需要json.js包(切记哦)

Js Json 互转

推荐: //js对象转换为 JSON 文本 var text = '[{"id":1,"name":"C","size":"","date":"02/19/2010","children":[{"id":2,"name":"Program Files","size":&