`
wsj123
  • 浏览: 154285 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JS对JSON数据的操作-解析操作

阅读更多
JS对JSON数据的操作-解析操作


1.1JS解析JSON字符串
1.1.1使用eval()函数解析
    由于JSON语法是JS语法的子集,JS函数eval()可用于将JSON字符串转换为JOSN对象。
解析方式:
    eval()函数使用JS编译器,解析JSON文本生成JS对象。
语法:
    var obj = eval ("(" + txt + ")");
注意:必须把文本包围在括号中,这样才能避免语法错误。
例:
<html>
<head></head>
<body>
<p>
    First Name: <span id="fname"></span><br />
    Last Name: <span id="lname"></span><br />
</p>
<script type="text/javascript">
    var txt = '{"employees":[' +
              '{"firstName":"Bill","lastName":"Gates" },' +
              '{"firstName":"George","lastName":"Bush" },' +
              '{"firstName":"Thomas","lastName":"Carter" }]}';
    var obj = eval ("(" + txt + ")");
    document.getElementById("fname").innerHTML=obj.employees[1].firstName;
    document.getElementById("lname").innerHTML=obj.employees[1].lastName;
</script>
</body>
</html>

1.1.2 使用JSON.parse()方法解析
解析方式:
    JSON.parse()方法使用JSON解析器将JSON字符串转换为JOSN对象。
语法:
    var obj = JSON.parse(txt);
例:
<html>
<head></head>
<body>
<p>
        First Name: <span id="fname"></span><br />
        Last Name: <span id="lname"></span><br />
</p>
<script type="text/javascript">
       var txt = '{"employees":[' +
              '{"firstName":"Bill","lastName":"Gates" },' +
              '{"firstName":"George","lastName":"Bush" },' +
              '{"firstName":"Thomas","lastName":"Carter" }]}';
        var obj = JSON.parse(txt);
        document.getElementById("fname").innerHTML=obj.employees[1].firstName;
        document.getElementById("lname").innerHTML=obj.employees[1].lastName;
</script>
</body>
</html>

1.1.3两种解析方式的比较
    eval()函数使用JS编译器解析,可编译并执行任何JS代码。存在一个潜在的安全问题。
    JSON.parse()函数使用JSON解析器解析,JSON 解析器只能识别JSON文本,而不会编译脚本。使用起来更安全。
    较新的浏览器和最新的ECMAScript(JavaScript)标准中均包含了原生的对JSON的支持。并且JSON解析器的速度更快。
1.2解析JSON对象——JSON.stringify()方法
    JSON.stringify()方法,使用JSON解析器将JSON对象转换为JSON字符串。
语法:
    JSON.stringify(JSON对象);
例:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var obj ={"name":"helicopter",
              "age":23,
               "hobby":{"first":"swimming","second":"singing","third":"dancing"}};
    var jsonStr=JSON.stringify(obj);
    document.write(jsonStr);
</script>
</head>
<body>
</body>
</html>

分享到:
评论

相关推荐

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    - JSON解析:jQuery提供了解析JSON数据的内置函数,可以方便地将JSON数据转化为JavaScript对象。 - 动态DOM操作:通过jQuery,可以高效地在页面上添加、修改或删除元素,根据接收到的JSON数据更新UI。 结合这三个...

    json-c-master_c语言项目_json-c-master_JSONC语言_json-c_

    2. **JSON数据结构**:理解JSON的基本数据类型,如对象(键值对)、数组、字符串、数字、布尔值和null。你需要知道如何表示和解析这些结构。 3. **json-c库**:学习`json-c`库提供的API,包括解析JSON字符串到C数据...

    json-lib-2.4和相应的依赖包

    前端JavaScript可以直接解析JSON数据,实现与后端的有效交互。 总的来说,json-lib-2.4是Java开发中处理JSON数据的一个实用工具,尤其适用于需要在Java和JSON之间进行数据转换的项目。尽管现在有许多更新和更强大的...

    json-c-0.12.tar.gz_JSON_json 0.12_json-c-0.12_json-c-0.12下载

    1. JSON对象的创建、操作和解析:用户可以通过JSON-c库创建JSON对象,并进行添加、删除键值对的操作。同时,库还支持从JSON格式的字符串解析出JSON对象,以及将JSON对象转换回字符串。 2. JSON数据类型的处理:JSON...

    json-lib-2.3-jdk15开发包和所有依赖包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。...同时,理解并熟练运用`json-lib`提供的API,可以帮助你有效地处理JSON数据,提高开发效率。

    json-lib-2.4-jdk15.jar所需全部JAR包_JSON_

    这些依赖包可能包含对基础库如XML解析器、反射API或者其他核心功能的支持。当描述中提到“json-lib-2.4-jdk15.jar所需全部JAR包”时,这意味着为了使这个库能正常工作,还需要下载和包含一系列其他的JAR文件。 这些...

    json-2.2.3-jdk13全部包6个

    JSON库,如json-lib,是Java开发中用于处理JSON数据的工具,它提供了将Java对象转换为JSON字符串以及将JSON字符串转换回Java对象的功能。 在Java 13环境下,开发者可能需要一个完整的JSON库包,包括核心包和其他...

    json-lib-2.4-jdk15-sources.jar

    `json-lib`是Java中一个著名的JSON处理库,它提供了多种Java API来操作JSON数据。`json-lib-2.4-jdk15-sources.jar`是这个库的源码版本,适用于JDK 1.5环境。源码文件对于开发者来说非常宝贵,因为它允许我们深入...

    json-lib-2.4 jar 程序文件

    JSON-Lib是Java平台上的一个库,它提供了处理JSON数据的API,使得在Java中生成、解析和操作JSON对象变得简单。本文将详细介绍`json-lib-2.4 jar`程序文件及其在Java开发中的应用。 `json-lib-2.4 jar`是JSON-Lib的...

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...

    ezmorph-1.0.6.jar和json-lib-2.2.2-jdk15.rar

    标题中的"ezmorph-1.0.6....综上所述,这两个库对于Java开发者来说是非常实用的工具,ezmorph可以帮助处理数据转换,而json-lib则可以方便地处理JSON数据。它们的结合使用,能够极大地提升开发效率,简化数据处理流程。

    json-lib-2.4-jdk15.jar所需全部JAR包

    2. **jsoup**:HTML解析库,用于解析和操作返回的JSON数据中的HTML内容。 3. **JDK 1.5兼容库**:由于标题中提到了`jdk15`,这可能意味着这个版本的`json-lib`需要与JDK 1.5兼容的其他库。 4. **HTTP客户端库**:...

    jsonPath所需jar包(json-path-0.8.1.jar,json-smart-1.1.1.jar,commons-lang-2.6.jar)

    在Java项目中引入这三个jar包后,你就可以轻松地解析JSON数据,无论是简单的键值对还是复杂的嵌套结构。例如,你可以创建一个`JsonPath`对象,然后调用其`read()`方法,传入JSON字符串和JSONPath表达式,来获取你...

    json-lib-2.4-jdk15.jar和其他关联的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务和应用程序之间的数据传输,因为它易于读写,同时也被人类和机器所解析。`json-lib-2.4-jdk15.jar`是JSON库的一个实现,主要用于...

    JSON-js-master.zip

    根据提供的文档或示例代码,了解如何创建、解析和操作JSON数据。同时,了解JavaScript的内置JSON支持也是必要的,以便更好地理解和利用这个框架。 总结来说,JSON-js-master.zip提供了一个前端的JSON框架,旨在简化...

    json-c-0.11

    "json-c-0.11"是JSON-C库的一个版本,它是一个C语言实现的JSON解析器和生成器,适用于那些需要在C语言环境中处理JSON数据的项目。 JSON-C库的主要功能包括: 1. JSON解析:将JSON格式的字符串转换为C语言的数据结构...

    json-c-master.zip_JSON_c json_json c_json-c master

    JSON-C是JSON的一个C语言实现,它提供了一个简单的API,使得在C语言中处理JSON数据变得方便。JSON-C库允许你将C结构体序列化为JSON文本,并从JSON文本反序列化回C结构体,极大地简化了跨平台的数据交换。 **JSON-C...

    JSON-js-master.rar

    总的来说,JSON-js-master是一个非常实用的工具,它确保了在各种JavaScript环境中都能进行有效的JSON数据处理,无论浏览器是否原生支持JSON。对于那些需要处理JSON数据,而又无法确定用户使用何种浏览器的开发者来说...

    json-lib-2.4-jdk15及其依赖jar包

    总结起来,JSON-Lib是一个强大的工具,它为Java开发者提供了一种高效且直观的方式来处理JSON数据。无论是在服务器端还是客户端,它都极大地简化了JSON格式数据的转换工作,从而提高了开发效率并增强了应用程序的功能...

    javascript json数据解析工具json2.js

    JSON2.js是由Douglas Crockford开发的一个JavaScript库,专门用于处理JSON数据,尤其在老版本的浏览器中,这些浏览器可能不支持原生的JSON解析和序列化功能。 在JavaScript中,JSON主要用于对象与字符串之间的转换...

Global site tag (gtag.js) - Google Analytics