Asp.net 我不知道';我不理解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序列化类的示例,其中一个属性是数组:

我刚开始学习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更小、更短
  • 更快更容易解析
  • 读写更快
从W3S中,JSON对象可以如下所示:

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的优点:

  • 支持评论
  • 支持名称空间
  • 支持模式
JSON的优点:

  • 小的
  • 本机支持null
  • 本机对象支持
  • 本机阵列支持
  • 提供标量数据类型(字符串是字符串,数字是数字等)。但是缺少日期
  • 更简单(但意见问题)

可读性…一些人认为XML更难阅读。。。我不同意。对于分层数据,XML可以大放异彩。如果不使用JSON,它可能看起来像胡言乱语,特别是如果它没有格式化和缩进。我想这次是平局。

谢谢。web应用程序在什么情况下需要这样做?它主要用于在服务器和web应用程序之间传输数据,作为XML的替代品。此链接将帮助您()