在 JSON 中接收网络请求,而不是在 Corona 中接收 XML 中的网络请求
Receving network request in JSON instead of XML in Corona
我正在做一个简单的网络请求,我收到 XML 格式的结果。有没有办法接收 JSON 格式的结果(或者这取决于服务器响应什么格式)?
local function networkListener( event )
if ( event.isError ) then
print( "Network error!" )
else
print ( "RESPONSE: " .. event.response )
end
local saveData = event.response
local path = system.pathForFile( "myfile.txt", system.DocumentsDirectory )
local file = io.open( path, "w" )
file:write( saveData )
io.close( file )
file = nil
end
network.request( "http://www.carsales.com.au/cars/results?area=Stock&vertical=car&sortBy=TopDeal&q=(((Make%3D%5BToyota%5D)%26(Model%3D%5BCamry%5D))%26(Service%3D%5BCarsales%5D)%26(Year%3drange%5b2015..2015%5d))&WT.z_srchsrcx=makemodel/format=json", "GET", networkListener, params )
这似乎只依赖于服务器。 Google 等某些服务器可能允许 JSON 响应,但许多其他服务器不允许,这非常愚蠢。
真正的 REST 服务应该允许您指定 JSON 或 XML 来获取数据。然而,并非所有基于网络的 API 都是完整的 RESTful,您可能会受到他们提供的服务的限制。
罗布
我正在做一个简单的网络请求,我收到 XML 格式的结果。有没有办法接收 JSON 格式的结果(或者这取决于服务器响应什么格式)?
local function networkListener( event )
if ( event.isError ) then
print( "Network error!" )
else
print ( "RESPONSE: " .. event.response )
end
local saveData = event.response
local path = system.pathForFile( "myfile.txt", system.DocumentsDirectory )
local file = io.open( path, "w" )
file:write( saveData )
io.close( file )
file = nil
end
network.request( "http://www.carsales.com.au/cars/results?area=Stock&vertical=car&sortBy=TopDeal&q=(((Make%3D%5BToyota%5D)%26(Model%3D%5BCamry%5D))%26(Service%3D%5BCarsales%5D)%26(Year%3drange%5b2015..2015%5d))&WT.z_srchsrcx=makemodel/format=json", "GET", networkListener, params )
这似乎只依赖于服务器。 Google 等某些服务器可能允许 JSON 响应,但许多其他服务器不允许,这非常愚蠢。
真正的 REST 服务应该允许您指定 JSON 或 XML 来获取数据。然而,并非所有基于网络的 API 都是完整的 RESTful,您可能会受到他们提供的服务的限制。
罗布