JSON对象的解析方式
一:认识JSON
JSON:JavaScript对象表示法(JavaScript Object Notation)
Json是存储和交换文本信息的语法,比较类似于XML解析文件内容,Json比XML更小,更快,更易解析。
二:解析JSON的过程
JSON对象,一般指的是一个存放数据的数组对象,然后通过特定的语法解析格式对JSON对象进行解析。
JSON--》转换为JavaScript对象
JSON文本格式在语法上与创建JavaScript对象的代码相同,由于这种相似性,无需解析器,JS程序能够使用
内建的 eval()函数,用Json数据来生成原生的JavaScript对象。
//示例--解析一个Employee对象
{"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]}
//该对象存储了三个员工的信息。
//example.html
<p>
Name:<span id="jname"></span><br/>
Age: <span id="jage"></span><br/>
Address:<span id="jStreet"></span><br/>
Phone: <span id="jPhone"></span><br/>
</p>
<script type="text/javascript">
var JSONObject={
"name":"zhangsan",
"age":21,
"phone":"15087699878"
};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>
}
</script>
JSON 可以通过JavaScript进行解析,Json数据可以通过AJAX进行传输。
JSON语法格式:
JSOn语法是Javascript对象表示法语法的子集
{
1:数据在名称/值对 中
2:数据之间用逗号分隔
3:花括号保存对象
4:方括号保存数组
}
JSON的值可以是
{
1:数字
2:字符串
3:逻辑值(true/false)
4:数组
5:对象
6:Null
}
//利用eval()函数解析JSON对象
var txt='{"employees":[
'+'{"firstName":"zhang","lastName":"san"},
'+'{"firstName":"wang","lastName":"wu"}
]}';
//eval()函数解析JSon对象
var obj=eval("("+txt+")");
var First=obj.employees[1].firstName;
var last=obj.employees[1].lastName;
//利用JSON解析对象的优点: 解析的速度快,简易。
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
var parsedJson = eval('('+data+')');
$("#result").html(parsedJson.inputpara,parsedJson.outputpara,parsedJson.rtn);
var outputpara=parsedJson.outputpara;
alert(outputpara);
//将字符串转化为字符数组
var strArray = new Array();
//用逗号截取字符数组
strArray = outputpara.split(',');
$("#aa").val(strArray[0]);
$("#bb").val(strArray[1]);
$("#cc").val(strArray[2]);
$("#dd").val(strArray[3]);
$("#ee").val(strArray[4]);
$("#ff").val(strArray[5]);
$("#gg").val(strArray[6]);
//上面是将data的JSON对象进行解析,并将解析出来的对象利用逗号分隔出来,取出数据,然后将值分别填充到相应的表单中去。