Я пытаюсь разобрать данные массива json в listview! Я искал весь интернет и всегда был на одном месте! Json Арай должен иметь заголовок что-то вроде этогоAndroid JsonArray в ListView
"emp_info":[{"employee name":"Adam","employee no":"101700"},{"employee name":"John","employee no":"101701"},{"employee name":"Paul","employee no":"101702"},{"employee name":"Mark","employee no":"101703"},{"employee name":"Donald","employee no":"101704"},{"employee name":"Brain","employee no":"101705"},{"employee name":"Kevin","employee no":"101706"}]}
Если в моем понимании "emp_info"
это заголовочный файл, с помощью которого я должен искать остальные данные внутри него в андроиде! Мой колледж делая вид, что я могу принимать и анализировать те же данные, в listview без этого имени заголовка, но каждый бит кода, в котором я искал синтаксический анализ json в android, был такой же строкой!
JSONObject obj = new JSONObject(jsonString);
JSONArray stations = obj.getJSONArray("emp_inf");
, где я просто поместить jsonarray файл заголовка, как вы можете увидеть в этой части кода! Поэтому, пожалуйста, помогите мне, что можно принять JSon массив без этого кода? Потому что если я пытаюсь удалить этот код Я получаю nullpointer в своем коде! Будет очень рад, если вы сможете хотя бы сказать «да» или «нет»! Проводка полных кодов! Вот андроид класс, который получает JSon и загружают их в виде списка
private class JsonReadTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://54.148.41.171/server/index/dompy");
try {
HttpResponse response = httpclient.execute(httppost);
jsonResult = inputStreamToString(
response.getEntity().getContent()).toString();
}
catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private StringBuilder inputStreamToString(InputStream is) {
String rLine = "";
StringBuilder answer = new StringBuilder();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
try {
while ((rLine = rd.readLine()) != null) {
answer.append(rLine);
}
}
catch (IOException e) {
// e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error..." + e.toString(), Toast.LENGTH_LONG).show();
}
return answer;
}
@Override
protected void onPostExecute(String result) {
ListDrwaer();
}
}// end async task
public void accessWebService() {
JsonReadTask task = new JsonReadTask();
// passes values for the urls string array
task.execute(new String[] { url });
}
// build hash set for list view
public void ListDrwaer() {
List<Map<String, String>> employeeList = new ArrayList<Map<String, String>>();
try {
JSONObject jsonResponse = new JSONObject(jsonResult);
JSONArray jsonMainNode = jsonResponse.optJSONArray("emp_info");
for (int i = 0; i < jsonMainNode.length(); i++) {
JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
String name = jsonChildNode.optString("empployee no");
String number = jsonChildNode.optString("etc.");
String outPut = name + "-" + number;
employeeList.add(createEmployee("data", outPut));
}
} catch (JSONException e) {
Toast.makeText(getApplicationContext(), "Error" + e.toString(),
Toast.LENGTH_SHORT).show();
}
SimpleAdapter simpleAdapter = new SimpleAdapter(this, employeeList,
android.R.layout.simple_list_item_1,
new String[] { "employee no" }, new int[] { android.R.id.text1 });
listView.setAdapter(simpleAdapter);
}
private HashMap<String, String> createEmployee(String name, String number) {
HashMap<String, String> employeeNameNo = new HashMap<String, String>();
employeeNameNo.put(name, number);
return employeeNameNo;
}
}
И этим JSon массив им успешно способных принести какой тип JSON является следующим!
{"emp_info":[{"employee name":"Adam","employee no":"101700"},{"employee name":"John","employee no":"101701"},{"employee name":"Paul","employee no":"101702"},{"employee name":"Mark","employee no":"101703"},{"employee name":"Donald","employee no":"101704"},{"employee name":"Brain","employee no":"101705"},{"employee name":"Kevin","employee no":"101706"}]}
И вот массив json, который мой колледж притворяется, что я должен принять!
{"data":"123"}
И им говоря, что его не удается загрузить этот JSON в списке только потому, что не имеют заголовочный файл, как шахты emp_info
, но ГЭС говоря его не имеет значения, я просто должен принять! Мы только на одном проекте и я просто не могу понять, можно ли даже делать то, что он говорит?
Этот json недействителен. –
Опубликован ваш полный json? то это не является допустимым. –
Нет, его кусочек json плохо отредактировал сейчас и опубликовал полный json, дело в том, что я умею делать все идеально с этим путем, но потому, что мой колледж является хозяином на стороне сервера php, он говорит, что я должен принять его без этого заголовка i только что опубликовал и im gettin frasturade как ад! –