Php 如何解决json解码返回空错误
我的API URL在浏览器中返回代码,如下所示。Php 如何解决json解码返回空错误,php,json,Php,Json,我的API URL在浏览器中返回代码,如下所示。但json\u解码($API\u URL,true)返回null 我检查了json\u last\u error(),返回4(json错误语法)。 它与json解码(file\u get\u contents($api\u url),true)一起工作 为什么它不能与json_解码一起使用。请帮助 {"dataset":{"id":27153572,"dataset_code":"20MICRONS_A_DEBT","database_code":
但
json\u解码($API\u URL,true)代码>返回null
我检查了json\u last\u error()代码>,返回4(json错误语法)。
它与json解码(file\u get\u contents($api\u url),true)一起工作代码>
为什么它不能与json_解码一起使用。请帮助
{"dataset":{"id":27153572,"dataset_code":"20MICRONS_A_DEBT","database_code":"DEB","name":"20 Microns Limited,Total Debt","description":"\u003cp\u003e20 Microns Limited(NSE:20MICRONS)-Total Debt(Annual)\u003c/p\u003e","refreshed_at":"2018-09-21T08:04:08.278Z","newest_available_date":"2018-03-31","oldest_available_date":"2005-03-31","column_names":["PERIOD","STANDALONE","CONSOLIDATED"],"frequency":"annual","type":"Time Series","premium":true,"limit":null,"transform":null,"column_index":null,"start_date":"2005-03-31","end_date":"2018-03-31","data":[["2018-03-31",128.56,133.68],["2017-03-31",144.9,151.73],["2016-03-31",155.18,163.41],["2015-03-31",152.8,164.62],["2014-03-31",162.01,176.64],["2013-03-31",148.49,164.73],["2012-03-31",144.67,158.6],["2011-03-31",81.42,120.31],["2010-03-31",84.35,87.35],["2009-03-31",58.62,58.62],["2008-03-31",46.52,null],["2007-03-31",42.46,null],["2006-03-31",40.03,null],["2005-03-31",38.98,null]],"collapse":null,"order":null,"database_id":14992}}
你想做的事毫无意义$api_url
只是一个url,因此当您尝试解码它时,它没有json
结构,它将抛出一个exeption
您应该解码此url返回给您的数据
所以首先您应该从url获取数据,然后使用json\u decode($api\u url,true)代码>
要获取数据,您可以使用file\u get\u contents
或curl
您试图做的事情毫无意义$api_url
只是一个url,因此当您尝试解码它时,它没有json
结构,它将抛出一个exeption
您应该解码此url返回给您的数据
所以首先您应该从url获取数据,然后使用json\u decode($api\u url,true)代码>
要获取数据,您可以使用文件\u获取内容
或卷曲
道具,向击中头部的mulder提供道具,但我想为您介绍一下
文件\u获取\u内容()的目的:
file_get_contents()函数是PHP中的内置函数,用于将文件内容读入字符串
请注意,“文件”可以是驻留在web服务器上的文件,也可以是远程文件(URL),从本质上讲,远程文件将返回web文档
json_decode()的用途:
json_decode()函数是PHP中的内置函数,用于解码json字符串。它将JSON编码的字符串转换为PHP变量
考虑到这一点,您可以看到对无效的json字符串或URL执行json_解码会将结果显示为NULL
json_decode('https://www.website.com')
这就是你正在做的事情。在json解码中执行文件内容首先将URL/文件(“”)转换为字符串,然后json解码将包含json的字符串转换为数组。支持u\u mulder,他一针见血,但我想为您详细介绍一下
文件\u获取\u内容()的目的:
file_get_contents()函数是PHP中的内置函数,用于将文件内容读入字符串
请注意,“文件”可以是驻留在web服务器上的文件,也可以是远程文件(URL),从本质上讲,远程文件将返回web文档
json_decode()的用途:
json_decode()函数是PHP中的内置函数,用于解码json字符串。它将JSON编码的字符串转换为PHP变量
考虑到这一点,您可以看到对无效的json字符串或URL执行json_解码会将结果显示为NULL
json_decode('https://www.website.com')
这就是你正在做的事情。执行json解码中的文件内容首先将URL/文件(“”)转换为字符串,然后json解码将包含json的字符串转换为数组。因为$api\u URL
是URL而不是json数据。理解区别吗?因为$api\u url
是一个url而不是json数据。明白其中的区别吗?