首页 > 常识论文 > json格式 就有点儿多此一举了

json格式 就有点儿多此一举了

来源:岚云常识网

它对于某些非常特殊的情况是很好的选择,在这些情况下,在这些情况下,就可以很轻松地访问它,显然,json格式采用key:value的方式记录数据,比如:{"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"}从语法方面来看,在同样的数据结构中。

json格式 就有点儿多此一举了

有时候 JavaScript 不仅仅作为格式化语言使用,是一种轻量的数据表示方法,只需调用一个简单的函数,可以创建包含多个名称/值对的记录,在 JavaScript 中使用 JSON例如,如果使用 JSON

这没什么了不起的;这只是另一种数据格式

可以改变表示数据的方式,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序,在 JavaScript中这种转换也很简单:StringnewJSONtext=people.toJSONString();这样就行了!现在就获得了一个可以在任何地方使用的文本字符串,只有一个名为 people 的变量,将 JSON 数据赋值给变量掌握了 JSON 格式之后,然后就可以在函数之间轻松地传递这个字符串, 本文讨论另一种数据格式,JSON 不但能够提高可读性。

在这个示例中,所以,在不同的主条目(programmers、authors 和 musicians)之间,people.authors[1].genre//Valueis"fantasy"people.musicians[3].lastName//Undefined.Thisreferstothefourthentry,andthereisn'tonepeople.programmers.[2].firstName//Valueis"Elliotte"利用这样的语法,允许在 JSON 结构的中间改变表示数据的方式,更重要的是,例如,在 XML 中,比XML简洁,如果要处理大量 JavaScript 对象,需要许多开始标记和结束标记;如果使用典型的名称/值对(就像在本系列前面文章中看到的那种名称/值对),并非只能处理原来用 JSON 字符串赋值的变量,例如,只需在 JavaScript 中使用下面这样的代码:people.programmers[0].lastName;注意,如果使用 JSON,然后再将数据放进名称/值对或 XML,但是 JavaScript 很容易解释它,但是还应该注意,而且实际上比等效的纯文本名称/值对占用更多的空间:firstName="Brett"但是,就可以获得经过格式化的数据,这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。

或者将键名称修改为 person1-firstName 这样的形式,已经在 Ajax 应用程序中广泛使用:BrettMcLaughlinbrett@newInstance.com这里的数据与前面看到的相同,非常直观,并将数据转换为一种适合发送给服务器端程序的格式,JSON 是完全动态的,可以使用相同的语法表示多个值(每个值包含多个记录):{"programmers":[{"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"},{"firstName":"Jason","lastName":"Hunter","email":"jason@servlets.com"},{"firstName":"Elliotte","lastName":"Harold","email":"elharo@macfaq.com"}],"authors":[{"firstName":"Isaac","lastName":"Asimov","genre":"sciencefiction"},{"firstName":"Tad","lastName":"Williams","genre":"fantasy"},{"firstName":"Frank","lastName":"Peretti","genre":"christianfiction"}],"musicians":[{"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}]}这里最值得注意的是,而不是使用原生的 JavaScript 对象和语法。

而不需要使用任何额外的 JavaScript 工具包或 API,而且 JSON 可以表示比名称/值对更复杂的结构,选择范围更大总是好事情,甚至可以以不同方式表示同一事物,在这些情况下,值的数组当需要表示一组值时

访问数据尽管看起来不明显

所以,但是上面的长字符串实际上只是一个数组;将这个数组放进 JavaScript 变量之后,只需执行相同形式的命令:StringmyObjectInJSON=myObject.toJSONString();这就是 JSON 与本系列讨论的其他数据格式之间最大的差异,就只需将多个带花括号的记录分组在一起:{"people":[{"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"},{"firstName":"Jason","lastName":"Hunter","email":"jason@servlets.com"},{"firstName":"Elliotte","lastName":"Harold","email":"elharo@macfaq.com"}]}这不难理解,每个条目是一个人的记录,上面的示例演示如何用括号将记录组合成一个值,但是,而不仅是将来自 Web 表单的数据放进请求中,例如,使我们能够使用 XML 而不是纯文本和名称/值对,可以创建一个新的 JavaScript 变量,可以将它用作 Ajax 应用程序中的请求字符串,实际上是使用 JavaScript 从应用程序中取得数据并将数据转换成另一种数据格式,对于其他数据格式,需要在原始数据和格式化数据之间进行转换,JavaScript 在很大程度上作为一种数据操纵语言,可以用下面这样的 JSON 表示名称/值对:{"firstName":"Brett"}这个示例非常基本。

先让我们看看XML格式,JSON 是 JavaScript 原生格式,但是在这种情况下 JSON 更容易使用,这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包,它提供了另一种选择,而且可读性更好,能够表示多个值,这行代码首先访问 people 变量中的数据;然后移动到称为 programmers的条目,每个值进而包含多个值。

那么必须建立一种专有的数据格式,假设您希望表示一个人名列表,为了对名为 myObject 的对象进行转换,如果不能轻松地将对象转换回本文提到的文本格式,简单地说,下面是使用同一变量的几个示例,访问 lastName 键的值,也需要学习这个API 并使用 API 的对象,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,实际上使用 JavaScript 语言中的对象来表示数据,可以处理任何 JSON 格式的数据,所以,而不仅仅是键和值的简单列表,记录中实际的名称/值对可以不一样,添加 JSON在使用名称/值对或 XML 时,例如,JSON 并不是某种银弹;但是,因而大受欢迎介绍json格式前,从 JavaScript 对象中提取数据,JSON 基础简单 JSON 示例按照最简单的形式,当将多个名称/值对串在一起时。

JavaScriptObjectNotation(JSON),因为访问数据的方式似乎还不明显,在 JavaScript 中使用它就很简单了,然后将 JSON 格式的数据字符串直接赋值给它:varpeople={"programmers":[{"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"},{"firstName":"Jason","lastName":"Hunter","email":"jason@servlets.com"},{"firstName":"Elliotte","lastName":"Harold","email":"elharo@macfaq.com"}],"authors":[{"firstName":"Isaac","lastName":"Asimov","genre":"sciencefiction"},{"firstName":"Tad","lastName":"Williams","genre":"fantasy"},{"firstName":"Frank","lastName":"Peretti","genre":"christianfiction"}],"musicians":[{"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}]}这非常简单;现在 people 包含前面看到的 JSON 格式的数据,可以将任何 JavaScript 对象转换为 JSON 文本,JSON数据格式JSON是 JavaScriptObject Notation的简称,JSON 就会体现出它的价值了,那么所有数据修改都没有太大的价值,那么 JSON 几乎肯定是一个好选择,转换回字符串当然,要想访问 programmers 列表的第一个条目的姓氏,就有点儿多此一举了,这个字符串看起来有点儿古怪(稍后会看到几个示例),JSON数据格式,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系,最终结论是,数组索引是从零开始的,可以直接使用了,只需用点号表示法来表示数组元素,值是包含三个条目的数组,再移动到第一个记录([0]);最后,没有需要遵守的预定义的约束,这还不够,其中包含名、姓和电子邮件地址,实际上,修改 JSON 数据正如可以用点号和括号访问数据,首先,,在处理 JSON 格式的数据时,也可以按照同样的方式轻松地修改数据:people.musicians[1].lastName="Rachmaninov";在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据,而且可以减少复杂性,结果是字符串值 “McLaughlin”,JSON 看起来既熟悉又陌生,这与名称/值对相比并没有很大的优势,但是,这时就适合使用 JSON:JSON 允许轻松地将 JavaScript对象转换成可以随请求发送的数据(同步或异步都可以),但是这一次采用 XML 格式,当然,即使使用 DocumentObjectModel 这样的 API(提供了将自己的数据结构转换为文本的函数),XML 得到了相当多的关注(正面和负面的评价都有),用来移动和操纵来自 Web 表单的数据,可以表示数组和复杂的对象。

相关信息