繁体   English   中英

如何将JSON对象转换为Java

[英]How to convert json object into java

这是我的Java代码,可从服务器获取响应。

    try

    {
       HttpClient httpclient = new DefaultHttpClient();
       HttpResponse response;
       HttpPost httppost = new HttpPost("http://www.def.net/my_script.php");

       response = httpclient.execute(httppost);
       HttpEntity entity = response.getEntity();
       String s = EntityUtils.toString(entity);

       JSONObject json = (JSONObject)new JSONParser().parse(s);
        System.out.println("News title= " + json.get("news_title"));
        System.out.println("Content= " + json.get("news_content"));
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }

这是php脚本返回的内容。

{ "desktop_app_newsfeed":
[
 { "news_id": "132",
   "news_title": "test1",
   "news_content": "Lorem ipsum dolor sit amet Donec...", 
   "news_date": "2013-07-18 10:38:20" },

 { "news_id": "1",
   "news_title": "Hello world!",
   "news_content":"Lorem ipsum dolor sit amet Donec...",
    "news_date": "2013-04-22 17:54:05" 
 }
 ]
 }

如何迭代从而将其分配给java中的变量。

既然您知道结构,就可以像这样简单地将Object

JSONObject json = (JSONObject) new JSONParser().parse(jsonString);
JSONArray feed = (JSONArray) json.get("desktop_app_newsfeed");

for (Object item : feed) {
    JSONObject news = (JSONObject) item;

    System.out.println("News title= " + news.get("news_title"));
    System.out.println("Content= " + news.get("news_content"));
}

如果不确定结构,建议您使用调试器并检查json变量中的内容。

如果您正在寻找一种更通用,更健壮的方法,则必须查看类似Thomas W指出的文档之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM