首页 > web前端 > js教程 > 正文

JavaScript json对象与数组转换简单实现方法实例详解

伊谢尔伦
发布: 2017-07-17 14:24:06
原创
3046人浏览过

js数组与 json 的区别

一,数组

     1. 定义一维数组:var s1=new Array();

                       s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
                      alert(s1[0]);

                       结果为1;

立即学习Java免费学习笔记(深入)”;

   2,,定义二维素组:var s1=new Array();

                               var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
                                 alert(s1[1][0]);

                               结果为2;

二,定义json对象

    1,json对象       

var status_process = {
      " name5" : '闲置期',
    "name1" : '播种期',
    "name2" : '苗期',
    "name3" : '生长期',
    "name4" : '采收期'
   }   
  alert(status_process);
登录后复制

      结果为:Object:Object;

  2,json字符串

              所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象

   虽然status_process的值符合json对象的格式,但是它不是对象,只是一个字符串(是拼凑出来的);

                   将字符串转换为json对象使用函数eval,eval("(" + status_process+ ")");

         结论:从后台传入到前台的是json字符串,不是真正的json对象,因此需要使用eval函数转换。

json对象的使用     

var status_process = {
      name5 : '闲置期',
     name1 : '播种期',
     name2 : '苗期',
      name3 : '生长期',
      name4 : '采收期'
     };
     alert(status_process["name5"]);
     alert(status_process.name5);
登录后复制

  两个都为:闲置期

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

•数据在名称/值对中
•数据由逗号分隔
•花括号保存对象
•方括号保存数组

腾讯智影-AI数字人
腾讯智影-AI数字人

基于AI数字人能力,实现7*24小时AI数字人直播带货,低成本实现直播业务快速增增,全天智能在线直播

腾讯智影-AI数字人 73
查看详情 腾讯智影-AI数字人

JSON 对象

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:

{ "firstName":"John" , "lastName":"Doe" }
登录后复制

这一点也容易理解,与这条 JavaScript 语句等价:

firstName = "John"
lastName = "Doe"
登录后复制

JSON 数组

JSON 数组在方括号中书写:

数组可包含多个对象:

{ 
"employees": [ 
{ "firstName":"John" , "lastName":"Doe" }, 
{ "firstName":"Anna" , "lastName":"Smith" }, 
{ "firstName":"Peter" , "lastName":"Jones" } 
] 
}
登录后复制

在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。

JSON 文件

•JSON 文件的文件类型是 ".json"
•JSON 文本的 MIME 类型是 "application/json"

JSON文本转换为 JavaScript 对象

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误
var obj = eval ("(" + jsontxt + ")");

示例:

  $.ajax({
    type: 'POST',
    url: '../../caseHandler.ashx?action=GetCase&id=' + id.toString(), //url action是方法的名称
    data: "",
    dataType: "text", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可以设置为json
    ContentType: "application/json; charset=utf-8",
    success: function (returnedData) {
      getMarkerFeature(eval("(" + returnedData+ ")"));
    },
    error: function (msg) {
      alert("访问失败:"+ msg);
    }
  });
登录后复制

通过JavaScript创建对象数组

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
登录后复制

JavaScript对象属性访问的两种方式

object.attribute

object["attribute"]

例如:

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
alert(employees[0].lastName); // 方式一
alert(employees[0]["lastName"]); // 方式二
登录后复制

以上就是JavaScript json对象与数组转换简单实现方法实例详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号