android显示json对象到listview

这是我正在处理的代码:

private final static String SERVICE_URI = "http://restwebservice.com/test/Service.svc"; StringEntity entity; String var; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); callWebService(); Button btn = (Button) findViewById (R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i = new Intent(MainActivity.this, Test.class); startActivity(i); } }); } public void callWebService() { try { // make web service connection HttpPost request = new HttpPost(SERVICE_URI + "/TestApplication"); request.setHeader("Accept", "application/json"); request.setHeader("Content-type", "application/json"); // Build JSON string JSONStringer TestApp = new JSONStringer().object().key("id") .value("1").key("name").value("manish").key("email") .value("androidhub4you@gmail.com").key("country") .value("india").endObject(); entity = new StringEntity(TestApp.toString()); var = EntityUtils.toString(entity); Log.d("****Parameter Input****", "Testing:" + TestApp); request.setEntity(entity); // Send request to WCF service DefaultHttpClient httpClient = new DefaultHttpClient(); HttpResponse response = httpClient.execute(request); Log.d("WebInvoke", "Saving: " + response.getStatusLine().toString()); // Get the status of web service BufferedReader rd = new BufferedReader(new InputStreamReader( response.getEntity().getContent())); // print status in log String line = ""; while ((line = rd.readLine()) != null) { Log.d("****Status Line***", "Webservice: " + line); } } catch (Exception e) { e.printStackTrace(); } } 

我想在列表视图中显示它们。 你有任何教程让我入门吗? 我是网络服务的新手。 谢谢。

列表视图中最受欢迎的tutirials之一可能对您有所帮助:

– 拉维的博客

解析json后要遵循的步骤:

  1. Map your json objects to pojo. 2. Store your pojo in an array list if many are there. 3. Create a list view with a custom adapter. 4. update your listview with answer from the pojo's that you have mapped with notifyDatasetChanged 

你可以使用jackson库用一行代码解析json。

  //1. Convert Java object to JSON format ObjectMapper mapper = new ObjectMapper(); mapper.writeValue(new File("c:\\user.json"), user); //2. Convert JSON to Java object ObjectMapper mapper = new ObjectMapper(); User user = mapper.readValue(new File("c:\\user.json"), User.class); 

(有关对象映射教程的更多信息,请点击此链接)

这就是我从json响应中生成listview所做的,基本上我从我的jon响应中写入了值到适配器并将其设置为我的列表视图

 try{ jArray = new JSONArray(result); for(int i=0;i(); for(int i=0;i(this, R.layout.listrow, planetList); runOnUiThread(new Runnable() { public void run() { list.setAdapter(listAdapter); } }); } list.setOnItemClickListener(new OnItemClickListener() { //where to put this piece of code??? public void onItemClick(AdapterView arg0, View arg1, final int arg2, long arg3) { Intent intent = new Intent(context,Finaldeal.class); intent.putExtra("deal", json_data.toString()); startActivity(intent); } }); } catch(JSONException e){ Log.e("log_tag", "Error parsing data "+e.toString()); } 

你也可以参考我在这里问的问题

将JSON对象传递给列表项上的另一个活动单击