zoukankan      html  css  js  c++  java
  • 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 了.

  • 相关阅读:
    SQL的update from 理解
    JS自动合并表格
    完全备份ORACLE数据库 并在另一台电脑上恢复
    cmd 连接到指定路径
    oracle 11g 64位安装sqldeveloper打开不了
    oracle 11g卸载方法
    sql的游标使用(转)
    JQEUERY案例
    sessionStorage实现note的功能
    Web Worker模拟抢票
  • 原文地址:https://www.cnblogs.com/predisw/p/4785955.html
Copyright © 2011-2022 走看看