[英]How to parse JSON data without define array in JSON in Android Studio
我是 Android 的新手,我正在尝试开发一个应用程序,用于通过在编辑文本中输入代码来验证 ifsc 代码。
所以在这个项目中,我使用 Razorpay JSON 来获取数据,但是当我获取数据时,它以 JSON 格式显示,不可读格式。
如何将 JSON 数据转换为可读格式?
当我在 JSON 中添加方括号 [] 时,我的代码工作正常,但我无法编辑 JSON,因为它是第三方 JSON。
这是我的代码:
public class fetchdata extends AsyncTask<Void,Void,Void> {
String data = "";
String dataprart ;
String singlePared = "";
String datamanner = "";
@Override
protected Void doInBackground(Void... voids) {
dataprart=ifsccode.getText().toString();
String urls="https://ifsc.razorpay.com/"+dataprart;
try {
URL url = new URL(urls);
HttpURLConnection httpURLConnection = (HttpURLConnection)
url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(inputStream));
String line = "";
while (line != null) {
line = bufferedReader.readLine();
data= data + line;
}
JSONArray JA = new JSONArray(data);
for ( int i = 0; i<JA.length(); i++) {
JSONObject JO = (JSONObject) JA.get(i);
singlePared =
"BRANCH --- " + JO.get("BRANCH") + "\n"+"\n"+
"STATE ---" + JO.get("STATE") + "\n"+"\n"+
"DISTRICT ---" + JO.get("DISTRICT") + "\n"+"\n"+
"ADDRESS --- " + JO.get("ADDRESS") + "\n"+"\n"+
"CITY ---" + JO.get("CITY") + "\n"+"\n"+
"BANK ---" + JO.get("BANK") + "\n";
datamanner = datamanner +singlePared;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
IFSc_validate.ifsc.setText(datamanner);
super.onPostExecute(aVoid);
}
}
这是因为响应是 JSONObject 而不是 JSONArray。
试试这些改变
JSONObject JO = new JSONObject(data);
singlePared = //continue
删除 for 循环和 JSONArray 声明
此外,您应该考虑使用 volley 来获得 JSONObject 响应,这将使生活更轻松。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.