我已经在维基百科和谷歌上搜索了它,并阅读了官方文档,但我仍然没有真正理解JSON是什么,以及我为什么要使用它。
我已经使用PHP、MySQL和JavaScript / HTML构建了一段时间的应用程序,如果JSON可以让我的生活更轻松,或者让我的代码更好,或者让我的用户界面更好,那么我想知道它。谁能给我一个简洁的解释?
我已经在维基百科和谷歌上搜索了它,并阅读了官方文档,但我仍然没有真正理解JSON是什么,以及我为什么要使用它。
我已经使用PHP、MySQL和JavaScript / HTML构建了一段时间的应用程序,如果JSON可以让我的生活更轻松,或者让我的代码更好,或者让我的用户界面更好,那么我想知道它。谁能给我一个简洁的解释?
当前回答
尝试下面的代码来解析你的php json响应: read.php
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script type="text/javascript">
$.ajax({
url:'index.php',
data:{},
type:"POST",
success:function(result) {
jsondecoded = $.parseJSON(result);
$.each(jsondecoded, function(index, value) {
$("#servers").text($("#servers").text() + " " + value.servername);
console.log(value.start);
console.log(value.end);
console.log(value.id);
});
},
statusCode: {
404: function() {
alert( "page not found" );
}
}
});
</script>
server.php
<?php
echo '[{"start":"2017-08-29","end":"2017-09-01","id":"22"},{"start":"2017-09-03","end":"2017-09-06","id":"23"}]';
?>
其他回答
常见的简短回答是:如果您使用AJAX发出数据请求,您可以轻松地以JSON字符串的形式发送和返回对象。Javascript支持json()的可用扩展调用所有Javascript类型,以便在AJAX请求中向服务器发送数据。AJAX响应可以返回JSON字符串形式的对象,可以通过简单的eval调用将其转换为Javascript对象,例如,如果AJAX函数someAjaxFunctionCallReturningJson返回
"{ \"FirstName\" : \"Fred\", \"LastName\" : \"Flintstone\" }"
你可以用Javascript写
var obj = eval("(" + someAjaxFunctionCallReturningJson().value + ")");
alert(obj.FirstName);
alert(obj.LastName);
JSON也可以用于web服务负载等,但它对AJAX结果非常方便。
更新(十年后):不要这样做,使用JSON.parse
JSON格式通常用于通过网络连接序列化和传输结构化数据。它主要用于在服务器和web应用程序之间传输数据,作为XML的替代方案。
在Java上下文中,使用JSON的一个原因可能是,它为Java的Serialization框架提供了一个非常好的替代方案,而Java的Serialization框架(历史上)已被证明存在一些相当严重的漏洞。
Joshua Bloch在第85项“首选Java序列化的替代方案”(Effective Java 3rd Edition)中深入讨论了这一点。
Java的序列化最初的目的是将数据结构转换为易于传输或存储的格式。JSON满足这一要求,没有上面提到的严重漏洞。
这很简单。JSON代表Java Script对象表示法。可以把它看作是使用XML在软件组件之间传输数据的替代方案。
例如,我最近编写了一些返回JSON的web服务,一些Javascript开发人员随后编写了调用这些服务的代码,并使用以这种格式返回的信息。
JSON(Javascript对象表示法)是一种用于数据交换/传输的轻量级数据格式。它和JavaScript一样是键值对。 REST API广泛用于从服务器到客户端的数据传输。如今,许多社交媒体网站都在使用这种方式。尽管就数据类型而言,我认为它不如XML健壮。XML有非常丰富的数据类型和XSD。JSON在这方面有点欠缺。
对于相同数量的字符串数据,JSON将比XML更轻,因为XML有所有的开始和结束标签,等等…