Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序误读Sinatra JSON_Android_Ruby_Json_Sinatra - Fatal编程技术网

Android应用程序误读Sinatra JSON

Android应用程序误读Sinatra JSON,android,ruby,json,sinatra,Android,Ruby,Json,Sinatra,我的Android JSON解析器在从Sinatra服务器读取时给出错误 E/JSON Parser(21872): Error parsing data org.json.JSONException: Value <h1>Not of type java.lang.String cannot be converted to JSONObject. E/JSON解析器(21872):解析数据org.JSON.JSONException时出错: 不是java.lang.String

我的Android JSON解析器在从Sinatra服务器读取时给出错误

E/JSON Parser(21872): Error parsing data org.json.JSONException: 
Value <h1>Not of type java.lang.String cannot be converted to JSONObject.
E/JSON解析器(21872):解析数据org.JSON.JSONException时出错:
不是java.lang.String类型的值无法转换为JSONObject。
当从不同服务器上的PHP文件读取相同的JSON时,一切正常

看起来Sinatra/Ruby添加了一些额外的东西,尽管页面上只显示了{“con”:{“session”:“001”,“token”:“1234567890”}

我是否在服务器端做错了导致这种情况发生的事情

下面是我的主要ruby应用程序的示例:

require 'sinatra/base'
require 'json'

class Example< Sinatra::Base
    get '/foobar.json' do
        content_type :json
        {:con =>{:session =>'001',:token =>'1234567890'}}.to_json
    end
end
需要'sinatra/base'
需要“json”
类示例{:session=>'001',:token=>'1234567890'}
终止
终止

这里的问题是,Android端的HttpClient对象用于Post而不是Get

确切的响应是什么?在某些情况下,您需要在java代码中将内容类型设置为application/jsontoo@IllegalArgument当前位置我继续添加了它,但没有任何帮助。此外,从php文件中提取时,一切正常,只是调用Sinatra应用程序时不正常。@DaveNewton{“con”:[{“session”:“001”,“token”:“1234567890”}}这是您记录内容响应或从浏览器查看源代码时显示的内容?在这种情况下,你需要准确地显示你是如何从Android应用程序调用页面的,因为如果它得到了一个
标签,你可能没有做你认为你是做的事情,例如,一个post v。获得等。