>

在JavaScript中选拔JSON数据

- 编辑:正版管家婆马报彩图 -

在JavaScript中选拔JSON数据

JSON 是 JavaScript 原生格式,那代表 在 JavaScript 中管理 JSON 数据无需别的至极的 API 或工具包。

在JavaScript中使用JSON数据,javascriptjson数据

JSON 是 JavaScript 原生格式,那代表 在 JavaScript 中拍卖 JSON 数据无需别的非常的 API 或工具包。

JSON语法

JSON创立于三种结构:

指标——名称/值对的汇合。差异的语言中,它被清楚为目的,纪录,结构,字典,哈希表,有键列表(keyed list),只怕关联数组。二个目的以“{”(左括号)初阶,“}”(右括号)甘休。每一种“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间利用“,”(逗号)分隔。

数组——值的雷打不动列表。在大多言语中,它被驾驭为数组。八个数组以“[”(左中括号)起先,“]”(右中括号)截至。值时期选用“,”(逗号)分隔。

JSON未有变量或别的调整结构。JSON只用于数据传输。

将JSON 数据赋值给变量

比如说,能够创制二个新的 JavaScript 变量,然后将 JSON 格式的多寡字符串直接赋值给它:

var people =
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "[email protected]" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}

那特别轻松;今后 people 包涵前边看到的 JSON 格式的数额。可是,那还远远不够,因为访谈数据的办法就像还不明朗。

访谈数据

固然看起来不引人注目,可是地方的长字符串实际上只是一个数组;将这一个数组放进 JavaScript 变量之后,就足以很自在地拜候它。实际上,只需用点号表示法来表示数组成分。所以,要想拜见programmers 列表的率先个条约标姓氏,只需在 JavaScript 中运用上面那样的代码:

people.programmers[0].lastName;

留意,数组索引是从零开端的。所以,这行代码首先访谈 people 变量中的数据;然后移动到称为 programmers 的条规,再移动到第贰个记录( [0] );最终,访谈 lastName 键的值。结果是字符串值 “McLaughlin” 。

下边是选拔同一变量的多少个示范。

people.authors[1].genre 
// Value is "fantasy"
people.musicians[3].lastName 
// Undefined. This refers to the fourth entry,and there isn't one
people.programmers[2].firstName 
// Value is "Elliotte"

动用那样的语法,能够拍卖任何 JSON 格式的数目,而无需运用其余额外的 JavaScript 工具包或 API 。

修改 JSON 数据

正如能够用点号和括号访谈数据,也足以遵守一样的措施轻巧地修改数据:

people.musicians[1].lastName = "Rachmaninov";

在将字符串转变为 JavaScript json 格式对象之后,就足以像这么修更动量中的数据。

留神:json 格式的指标和 json 文本是例外的

var obj={name:" 张三 ","sex":' 男 '}; //json 格式的对象
var str=" { name: " 张三 " , "sex" : ' 男 ' }" ; //json 格式的字符串( json 格式的文本)

转变回字符串

自然,如若不能自在地将对象调换回本文提到的文本格式,那么富有数据修改都并未有太大的价值。在 JavaScript 中这种转移也很简短:

var newJSONtext = people.toJSONString();

像这种类型就行了!以后就拿走了多少个得以在别的地点使用的文本字符串,举个例子,能够将它用作 Ajax 应用程序中的诉求字符串。

更要紧的是,能够将别的 JavaScript 对象转换为 JSON 文本。实际不是只好管理原本用 JSON 字符串赋值的变量。为了对名叫 myObject 的目的进行转移,只需施行一样款式的指令:

<script type="text/javascript">
function Car(make,model,year,color)
{
this.make=make; 
this.model=model; 
this.year=year; 
this.color=color;
} 
function showCar()
{
var carr = new Car("Dodge","Coronet R/T",1968,"yellow"); 
alert(carr.toJSONString()); 
}
</script>

那正是 JSON 与别的数据格式之间最大的差异。借使运用 JSON ,只需调用一个简易的函数,就能够赢得通过格式化的多少,能够一向利用了。对于别的数据格式,要求在原本数据和格式化数据里面张开转移。固然采纳Document Object Model 那样的 API (提供了将团结的数据结构转换为文本的函数),也亟需上学这几个 API 并应用 API 的靶子,并不是采用原生的 JavaScript 对象和语法。

最终结论是,即使要拍卖大批量 JavaScript 对象,那么 JSON 差不离明显是三个好选择,那样就能够轻松地将数据调换为能够在恳求中发送给服务器端程序的格式(Ajax) 。

JSON字符串调换为JSON对象的方法

要选择方面的str1,必须采取下面包车型客车主意先转化为JSON对象:

//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就足以那样读取:

Alert(obj.name);
Alert(obj.sex);

非常注意:借使obj本来正是一个JSON对象,那么使用eval()函数调换后(哪怕是数次转换)如故JSON对象,可是使用parseJSON()函数管理后会有标题(抛出语法十分)。

JSON语法

您大概感兴趣的稿子:

  • js使用eval分析json实例与注意事项分享
  • java对象种类化与反连串化的暗许格式和json格式使用示例
  • jquery体系化form表单使用ajax提交后甩卖回来的json数据
  • JSON中双引号的轮回使用进程中肯定要小心
  • 教您怎么着利用PHP输出粤语JSON字符串
  • JSON.parse()和JSON.stringify()使用介绍
  • 直白在JS里创设JSON数据然后遍历使用
  • PHP中采用json数据格式定义字面量对象的措施
  • 利用JSON.parse将json字符串调换来json对象的时候会出错
  • Android中生成、使用Json数据实例
  • PHP使用json_encode函数时不转义粤语的缓和方法
  • ASP.NET中MVC使用AJAX调用JsonResult方法并回到自定义错误消息

JSON 是 JavaScript 原生格式,那意味着 在 JavaScript 中管理 JSON 数据没有必要别的非常的 API 或工具包。...

JSON建立于三种结构:

对象——名称/值对的集纳。不一样的言语中,它被清楚为对象,纪录,结构,字典,哈希表,有键列表(keyed list),恐怕关联数组。三个对象以“{”(左括号)开头,“}”(右括号)甘休。每一个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间接纳“,”(逗号)分隔。

数组——值的平稳列表。在大部语言中,它被精晓为数组。四个数组以“[”(左中括号)开首,“]”(右中括号)结束。值时期利用“,”(逗号)分隔。

JSON未有变量或别的调节结构。JSON只用于数据传输。

将JSON 数据赋值给变量

举个例子,能够创造二个新的 JavaScript 变量,然后将 JSON 格式的多少字符串直接赋值给它:

var people =
{ "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": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}

这非常轻易;今后 people 包涵后边看到的 JSON 格式的数目。可是,那还相当不够,因为访谈数据的不二等秘书籍仿佛还不明朗。

访谈数据

就算看起来不刚毅,不过上边的长字符串实际上只是叁个数组;将以此数组放进 JavaScript 变量之后,就足以很自在地拜会它。实际上,只需用点号表示法来代表数组成分。所以,要想会见programmers 列表的率先个条指标姓氏,只需在 JavaScript 中接纳下边那样的代码:

people.programmers[0].lastName;

留神,数组索引是从零上马的。所以,那行代码首先会见 people 变量中的数据;然后移动到称为 programmers 的条规,再移动到第三个记录( [0] );最后,访问 lastName 键的值。结果是字符串值 “McLaughlin” 。

下边是利用一样变量的多少个示范。

people.authors[1].genre 
// Value is "fantasy"
people.musicians[3].lastName 
// Undefined. This refers to the fourth entry,and there isn't one
people.programmers[2].firstName 
// Value is "Elliotte"

应用那样的语法,能够管理别的 JSON 格式的数量,而不要求使用任何附加的 JavaScript 工具包或 API 。

修改 JSON 数据

正如能够用点号和括号访问数据,也足以坚守同等的点子轻便地修改数据:

people.musicians[1].lastName = "Rachmaninov";

在将字符串转变为 JavaScript json 格式对象之后,就能够像那样修更改量中的数据。

只顾:json 格式的目的和 json 文本是例外的

var obj={name:" 张三 ","sex":' 男 '}; //json 格式的对象
var str=" { name: " 张三 " , "sex" : ' 男 ' }" ; //json 格式的字符串( json 格式的文本)

退换回字符串

当然,借使不能够自在地将目的转换回本文提到的文本格式,那么富有数据修改都并未有太大的市场股票总值。在 JavaScript 中这种转移也很轻便:

var newJSONtext = people.toJSONString();

这么就行了!现在就收获了二个能够在其余地方使用的文本字符串,举个例子,能够将它用作 Ajax 应用程序中的央浼字符串。

更要紧的是,可以将其他 JavaScript 对象转变为 JSON 文本。并不是只好管理原本用 JSON 字符串赋值的变量。为了对名字为 myObject 的指标举办转移,只需试行同一款式的下令:

<script type="text/javascript">
function Car(make,model,year,color)
{
this.make=make; 
this.model=model; 
this.year=year; 
this.color=color;
} 
function showCar()
{
var carr = new Car("Dodge","Coronet R/T",1968,"yellow"); 
alert(carr.toJSONString()); 
}
</script>

那就是 JSON 与另外数据格式之间最大的距离。如若应用 JSON ,只需调用三个简练的函数,就能够收获通过格式化的数额,能够一向运用了。对于其余数据格式,必要在本来数据和格式化数据里面张开转移。尽管选拔Document Object Model 那样的 API (提供了将和煦的数据结构调换为文本的函数),也亟需上学这么些 API 并运用 API 的靶子,实际不是应用原生的 JavaScript 对象和语法。

末尾敲定是,若是要管理大量 JavaScript 对象,那么 JSON 几乎分明是三个好采取,那样就能够轻巧地将数据转变为能够在央求中发送给服务器端程序的格式(Ajax) 。

JSON字符串调换为JSON对象的章程

要使用方面包车型客车str1,必须使用下边包车型大巴情势先转化为JSON对象:

//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

下一场,就足以这么读取:

Alert(obj.name);
Alert(obj.sex);

特别注意:即使obj本来便是三个JSON对象,那么使用eval()函数转换后(哪怕是每每转换)还是JSON对象,不过利用parseJSON()函数管理后会有标题(抛出语法相当)。

您可能感兴趣的稿子:

  • js使用eval深入分析json实例与注意事项分享
  • java对象种类化与反体系化的暗中认可格式和json格式使用示例
  • jquery类别化form表单使用ajax提交后甩卖回来的json数据
  • JSON中双引号的循环使用进度中分明要小心
  • 教您怎么样运用PHP输出汉语JSON字符串
  • JSON.parse()和JSON.stringify()使用介绍
  • 直白在JS里成立JSON数据然后遍历使用
  • PHP中选取json数据格式定义字面量对象的法子
  • 利用JSON.parse将json字符串转变来json对象的时候会出错
  • Android中变化、使用Json数据实例
  • PHP使用json_encode函数时不转义汉语的化解方式
  • ASP.NET中MVC使用AJAX调用JsonResult方法并赶回自定义错误消息

本文由计算机操作发布,转载请注明来源:在JavaScript中选拔JSON数据