• javaScript 中创建json/转换字符串为json


    在js 中创建创建json 对象:

      1.直接定义json 对象

    var employees = [
    { "firstName":"Bill" , "lastName":"Gates" },
    { "firstName":"George" , "lastName":"Bush" },
    { "firstName":"Thomas" , "lastName": "Carter" }
    ];
    alert(employees[0].firstName); //可以看到输出为Bill

      2.通过拼接字符串,再转换为json 对像.  

    例子1:
     1 var ids=["1","2","3"];
     2  var names=["one","two","three"];
     3 
     4  var json="[";
     5  for(var i=0;i<ids.length;i++){
     6     json+={"id":ids[i],"name":names[i]};
     7     if(i+1<ids.length)json+=",";
     8      }
     9  json+="]";
    10     
    11 json=JSON.parse(json);
    12 alert(json[0]);
    13 }
    
    

    上面的例子1 会在 11 行 JSON.parse(json); 出错. 因为JSON.parse() 这个方法只能转换字符串为json 对象. 上面的例子中在 第6行 json 不是以字符串的方式拼接,而在第4行,json 却是以字符串的方式拼接.这个json 变量中一部分是字符串,一部分是对象,这样就不是json 字符串了,所以会解析出错.

    JSON.parse() 用法:

    var foo = '[{ "id": "1","name":"two"}]';
    var json2=JSON.parse(foo);
    alert(json2[0].id)

    foo 是字符串,所以转换正确.

    例子1 改成如下:

     var ids=["1","2","3"];
     var names=["one","two","three"];
    
     var json="[";
     for(var i=0;i<ids.length;i++){
        json+='{"id":"'+ids[i]+'","name":"'+names[i]+'"}';
        if(i+1<ids.length)json+=",";
         }
     json+="]";
     alert(json);
    json=JSON.parse(json);
    alert(json[0].id);

    将循环体中的json 拼接转换为字符串,这样就ok 了.

  • 相关阅读:
    关于windows CE Platform Builder中模拟器的限制
    送给每天都用电脑的人
    用eVC4开发SmartPhone、Pocket PC程序之 开发工具下载、安装、配置
    在手机上显示图片
    如何禁止回车的使用
    弹出窗口的方法
    Request.Form同Request.querystring的区别.txt
    找前几天
    手机上可移动的图片
    httphandler是做什么的?
  • 原文地址:https://www.cnblogs.com/predisw/p/4785955.html
Copyright © 2020-2023  润新知