Java 在Android上读取JSON,没有输出

Java 在Android上读取JSON,没有输出,java,android,json,Java,Android,Json,这是我的JSON数据 {"JSONDATA":[{"key":0,"value":"--Any--"},{"key":61,"value":"Accounting"},{"key":81,"value":"Aerospace & Defense"},{"key":72,"value":"Automotive"},{"key":83,"value":"Banking"},{"key":84,"value":"Biotech"},{"key":85,"value":"Construction

这是我的JSON数据

{"JSONDATA":[{"key":0,"value":"--Any--"},{"key":61,"value":"Accounting"},{"key":81,"value":"Aerospace & Defense"},{"key":72,"value":"Automotive"},{"key":83,"value":"Banking"},{"key":84,"value":"Biotech"},{"key":85,"value":"Construction"},{"key":86,"value":"Customer Service"},{"key":87,"value":"Education"},{"key":82,"value":"Energy"},{"key":70,"value":"Finance"},{"key":193,"value":"Government"},{"key":194,"value":"Healthcare"},{"key":71,"value":"Insurance"},{"key":73,"value":"Legal"},{"key":62,"value":"Management"},{"key":63,"value":"Manufacturing"},{"key":64,"value":"Marketing\/Advertising"},{"key":77,"value":"Media - Journalism"},{"key":74,"value":"Pharmaceutical"},{"key":75,"value":"Real Estate"},{"key":76,"value":"Research"},{"key":65,"value":"Restaurant"},{"key":66,"value":"Retail"},{"key":67,"value":"Sales"},{"key":78,"value":"Science"},{"key":68,"value":"Telecommunications"},{"key":79,"value":"Training"},{"key":69,"value":"Transportation"},{"key":80,"value":"Utilities"}]}
我想在我的Android应用程序上解码,这是我用过的代码,但我的输出没有任何结果。也没有错误

JSONObject jObject= new JSONObject();
JSONArray menuObject = new JSONArray(jObject.getString("JSONDATA"));
String app;
for (int i = 0; i<menuObject.length(); i++) {
{
 app=menuObject.getJSONObject(i).getString("value").toString();
 a.append(app); // a is my TextView
}
JSONObject jObject=new JSONObject();
JSONArray menuObject=新的JSONArray(jObject.getString(“JSONDATA”);
字符串应用程序;
对于(inti=0;i它是错误的:

JSONArray menuObject = new JSONArray(jObject.getString("JSONDATA"));
尝试:

记住一件事:
使用要解析的JSON字符串创建JSON对象,然后可以从创建的JSON对象获取字符串/JSON对象或JSON数组。

将JSON响应存储在字符串中

String jsonResponse="YOUR JSON RESPONSE STRING";
//按如下方式传递字符串

JSONObject jObject= new JSONObject(jsonResponse);
JSONArray menuObject = jObject.getJSONArray("JSONDATA"));
String app;
for (int i = 0; i<menuObject.length(); i++) {
{
 app=menuObject.getJSONObject(i).getString("value").toString();
 a.append(app); // a is my TextView
}
JSONObject jObject=新的JSONObject(jsonResponse);
JSONArray menuObject=jObject.getJSONArray(“JSONDATA”);
字符串应用程序;

对于(int i=0;i使用
JSONObject
JSONArray
中的适当getter和setter,您的“JSONDATA”条目不是字符串。请执行以下操作:

JSONObject jObject = new JSONObject(yourJsonString);
JSONArray menuArray = jObject.getJSONArray("JSONDATA");
for (int i = 0; i < menuArray.length(); i++) {
    String app = menuObject.getJSONObject(i).getString("value");
    a.append(app); // a is my TextView
}
JSONObject jObject=新的JSONObject(yourJsonString);
JSONArray menuArray=jObject.getJSONArray(“JSONDATA”);
对于(int i=0;i
首先,您没有用任何东西初始化
作业对象

//pass in string
JSONObject jObject= new JSONObject(jsonString);
JSONObject
s需要解析一些东西,否则(按照现在的方式)它们初始化时没有数据,这不是很有帮助

其次,当您真正需要数组时,您正在使用
getString

JSONArray menuObject = jObject.getJSONArray("JSONDATA");
getString
用于从JSON对象返回一段字符串数据。
“JSONDATA”
包含一个数组,因此我们需要选择正确的类型进行检索

第三,您有一个冗余的
toString()
,因为
getString
已经返回了一个
String

app=menuObject.getJSONObject(i).getString("value");

使用以下代码解析json字符串

JSONObject obj = new JSONObject(youtString);
JSONArray array = obj.getJSONArray("JSONDATA");
for (int i = 0; i < array.length(); i++) {
  JSONObject c = array.getJSONObject(i);

  String key = c.getString("key");
  String value = c.getString("value");
  a.append(value);
}
JSONObject obj=新的JSONObject(youtString);
JSONArray数组=obj.getJSONArray(“JSONDATA”);
对于(int i=0;i
使用以下方法:-

String result="[{"key":0,"value":"--Any--"},{"key":61,"value":"Accounting"},{"key":81,"value":"Aerospace & Defense"},{"key":72,"value":"Automotive"},{"key":83,"value":"Banking"},{"key":84,"value":"Biotech"},{"key":85,"value":"Construction"},{"key":86,"value":"Customer Service"},{"key":87,"value":"Education"},{"key":82,"value":"Energy"},{"key":70,"value":"Finance"},{"key":193,"value":"Government"},{"key":194,"value":"Healthcare"},{"key":71,"value":"Insurance"},{"key":73,"value":"Legal"},{"key":62,"value":"Management"},{"key":63,"value":"Manufacturing"},{"key":64,"value":"Marketing\/Advertising"},{"key":77,"value":"Media - Journalism"},{"key":74,"value":"Pharmaceutical"},{"key":75,"value":"Real Estate"},{"key":76,"value":"Research"},{"key":65,"value":"Restaurant"},{"key":66,"value":"Retail"},{"key":67,"value":"Sales"},{"key":78,"value":"Science"},{"key":68,"value":"Telecommunications"},{"key":79,"value":"Training"},{"key":69,"value":"Transportation"},{"key":80,"value":"Utilities"}]";
JSONArray menuObject = new JSONArray(result);
String app;
for (int i = 0; i<menuObject.length(); i++) {
{
 app=menuObject.getJSONObject(i).getString("value").toString();
 a.append(app); // a is my TextView
}
String result=“[{“key”:0,“value”:”--任意--“},{“key”:61,“value”:“Accounting”},{“key”:81,“value”:“Aerospace&defence”},{“key”:72,“value”:“Automotive”},{“key”:83,“value”:“Banking”},{“key”:84,“value”:“Biotech”},{“key”:85,“value”:“Construction”},{“key”:86,“value”:“Customer Service”},{“Customer Service”},{“key”:87,“value”;“Education”},{“key”:82,“value”:“Energy”},{“Energy”:70,“价值”:“金融”},{“关键”:193,“价值”:“政府”},{“关键”:194,“价值”:“医疗”},{“关键”:71,“价值”:“保险”},{“关键”:73,“价值”:“法律”},{“关键”:62,“价值”:“管理”},{“关键”:63,“价值”:“制造”},{“关键”:64,“价值”:“营销”},{“关键”:77,“价值”:“媒体-新闻”},{“关键”:74,“价值”:“制药”},{“关键”:75,“价值”:“房地产”},{“关键”:76,“价值”:“研究”},{“关键”:65,“价值”:“餐厅”},{“关键”:66,“价值”:“零售”},{“关键”:67,“价值”:“销售”},{“关键”:78,“价值”:“科学”},{“关键”:68,“价值”:“电信”},{“关键”:79,“价值”:“培训”},{“关键”:69,“价值”:“交通”},{“关键”:80,“价值”:“公用事业”};
JSONArray menuObject=新的JSONArray(结果);
字符串应用程序;
对于(int i=0;i
String result="[{"key":0,"value":"--Any--"},{"key":61,"value":"Accounting"},{"key":81,"value":"Aerospace & Defense"},{"key":72,"value":"Automotive"},{"key":83,"value":"Banking"},{"key":84,"value":"Biotech"},{"key":85,"value":"Construction"},{"key":86,"value":"Customer Service"},{"key":87,"value":"Education"},{"key":82,"value":"Energy"},{"key":70,"value":"Finance"},{"key":193,"value":"Government"},{"key":194,"value":"Healthcare"},{"key":71,"value":"Insurance"},{"key":73,"value":"Legal"},{"key":62,"value":"Management"},{"key":63,"value":"Manufacturing"},{"key":64,"value":"Marketing\/Advertising"},{"key":77,"value":"Media - Journalism"},{"key":74,"value":"Pharmaceutical"},{"key":75,"value":"Real Estate"},{"key":76,"value":"Research"},{"key":65,"value":"Restaurant"},{"key":66,"value":"Retail"},{"key":67,"value":"Sales"},{"key":78,"value":"Science"},{"key":68,"value":"Telecommunications"},{"key":79,"value":"Training"},{"key":69,"value":"Transportation"},{"key":80,"value":"Utilities"}]";
JSONArray menuObject = new JSONArray(result);
String app;
for (int i = 0; i<menuObject.length(); i++) {
{
 app=menuObject.getJSONObject(i).getString("value").toString();
 a.append(app); // a is my TextView
}