Asp.net 我不知道';我不理解JSON,当我';我应该用它,能解释一下吗?
我刚开始学习ASP.NET,遇到了Web服务。我不完全理解JSON的用途,我应该在什么时候使用它,为什么它比XML好。想解释一下吗?JSON是一种基于文本的对象序列化格式,比XML更轻量级。它直接与JavaScript的对象模型集成。这就是它的大部分优点。您主要使用JSON在web客户端和web服务器之间发送数据,通常使用web服务。它将数组和对象序列化为人类可读的文本,并且可以很容易地被计算机解析。这是ECMA 404标准 下面是一个带有一些属性的JSON序列化类的示例,其中一个属性是数组:Asp.net 我不知道';我不理解JSON,当我';我应该用它,能解释一下吗?,asp.net,json,web-services,Asp.net,Json,Web Services,我刚开始学习ASP.NET,遇到了Web服务。我不完全理解JSON的用途,我应该在什么时候使用它,为什么它比XML好。想解释一下吗?JSON是一种基于文本的对象序列化格式,比XML更轻量级。它直接与JavaScript的对象模型集成。这就是它的大部分优点。您主要使用JSON在web客户端和web服务器之间发送数据,通常使用web服务。它将数组和对象序列化为人类可读的文本,并且可以很容易地被计算机解析。这是ECMA 404标准 下面是一个带有一些属性的JSON序列化类的示例,其中一个属性是数组:
{firstname: 'Joe', lastname: 'Smith', phonenumbers: ['555-555-5555','444-444-4444']}
在许多情况下,JSON比XML更容易使用,因为它的格式很简单。如果您还不熟悉JavaScript中的数组、函数和对象,我会看一看。在那之后,JSON会感觉非常熟悉并且易于使用。JSON是用于存储和交换文本信息的语法,很像XML。 关于XML的主要建议有:
- 比XML更小、更短
- 更快更容易解析
- 读写更快
var employees = [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
];
<?xml version="1.0" encoding="UTF-8"?>
<employees >
<employee>
<firstName>John</firstName>
<lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName>
<lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName>
<lastName>Jones</lastName>
</employee>
</employees >
XML文件可能如下所示:
var employees = [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
];
<?xml version="1.0" encoding="UTF-8"?>
<employees >
<employee>
<firstName>John</firstName>
<lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName>
<lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName>
<lastName>Jones</lastName>
</employee>
</employees >
约翰
雌鹿
安娜
史密斯
彼得
琼斯
从上面的示例中,您应该看到,读写JSON对象比XML快得多,因为它更小、更短
当您想在服务器和web浏览器之间进行一些数据交换并动态加载一些数据(例如从数据库中加载数据)时,JSON对象非常方便:
function yourJavascriptfunction(sender){
$.post("returndata.php", {
UserID:sender.name
})
.success(function(data){
var returnedObject = JSON.parse(data);
for(var i = 0; i < returnedObject.Data.length; i++){
console.log(returnedObject.Data[i]["someRowInYourTable"]);
}
})
.fail(function(jqXHR, textStatus, errorThrown){
alert("Unable to retrieve data from the server, error code:" + errorThrown);
});
}
函数yourJavascriptfunction(发送方){
$.post(“returndata.php”{
UserID:sender.name
})
.success(函数(数据){
var returnedObject=JSON.parse(数据);
对于(变量i=0;i
您的php文件returndata.php可以从您创建的数据库返回这些数据
<?php
$connection = mysqli_connect("localhost","root","password","yourDatabase") or die(mysql_error());
$userID = $_POST['UserID'];
$query1 = mysqli_query($connection, "SELECT * FROM table1 WHERE userid = $userID");
$returnObject = new stdClass();
$returnObject->Error = "Some error";
$ObjectArray = array();
$position = 0;
while ($newrow = mysqli_fetch_array($query1)) {
$ObjectArray[$position] = $newrow;
$position++;
}
$returnObject->Data = $ObjectArray;
echo json_encode($returnObject);
?>
确实有些不同 XML的优点:
- 支持评论
- 支持名称空间
- 支持模式
- 小的
- 本机支持null
- 本机对象支持
- 本机阵列支持
- 提供标量数据类型(字符串是字符串,数字是数字等)。但是缺少日期
- 更简单(但意见问题)
可读性…一些人认为XML更难阅读。。。我不同意。对于分层数据,XML可以大放异彩。如果不使用JSON,它可能看起来像胡言乱语,特别是如果它没有格式化和缩进。我想这次是平局。谢谢。web应用程序在什么情况下需要这样做?它主要用于在服务器和web应用程序之间传输数据,作为XML的替代品。此链接将帮助您()