【问题标题】:How to convert json object into java如何将json对象转换为java
【发布时间】:2013-07-18 04:56:39
【问题描述】:

这是我从服务器获取响应的 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中的变量。

【问题讨论】:

  • 您使用的是哪个 JSON 实现库?
  • 简单的json对象库。
  • 如果您的意思是 JSON-simple -- 您不清楚 -- 解码示例位于 code.google.com/p/json-simple/wiki/DecodingExamples。您的代码提到了 JSONObject,我认为它可能在不同的库中。你的 Java 代码是否高于实际代码,它是否编译,如果是,它有什么作用?
  • 在我的 Netbeans IDE 中,我使用了 json-simple.jar 文件,然后我尝试了使用 jackson 和 Gson 库的示例。但是我没有删除这些库并将它们保留在类路径中。但是我尝试使用的示例是 org.json 而不是 org.simple。所以我复制到我的编辑器中的例子显示了很多错误。我把它修好了。谢谢。

标签: java php json


【解决方案1】:

既然你知道结构,你可以像这样简单地把Objects 扔出去:

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 在其中一个 cmets 中指出的文档。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多