如何在Java、Tomcat和Eclipse中创建一个基于JSON数据的Restful Web服务

3
我有一个类似这个的JSON数据,我想创建一个RESTful Web服务来生成与上述链接相似的JSON输出。
我参考了如何使用Java Eclipse Tomcat7.0为大型JSON数据创建RESTful服务
我想在以上条件中添加以下内容:
 {
status: "ok",
count: 10,
pages: 6,
category:{

前面的答案是这样的,...
{
category:{/[

I want this

{
status: "ok",
count: 10,
pages: 6,
category:{

不要让回答者在各个链接中来回奔波,为什么不直接陈述问题并告诉我们你卡在哪里了。 - Nishant
你好,我从上面的链接中完成了一个Json restful web服务。现在我需要将下面这行代码: { status: "ok", count: 10, pages: 6, category:{ 替换为: category:{ - Whats Going On
2个回答

5

请看这个答案

一个典型的JSON如下所示

{
  "name":"Ersin",
  "surname":"Çetinkaya",
  "age":"25",
  "address":[{"city": "Bursa","country": "Türkiye","zipCode": "33444"}],
  "phones": ["234234242","345345354"]
}

以下是用Java创建上述JSON的代码:
public JSONObject getValues()
{
    JSONObject jsonobj=new JSONObject();
    jsonobj.put("name","Ersin");
    jsonobj.put("surname","Çetinkaya");
    jsonobj.put("age","25");


    JSONArray obj = new JSONArray();
    HashMap rows=new HashMap();
    rows.put("city","Bursa");
    rows.put("country","Türkiye");
    rows.put("zipCode","33444");
    obj.put(rows);
    jsonobj.put("address", obj);

    JSONArray phobj = new JSONArray();
    phobj.put("234234242");
    phobj.put("345345354");
    jsonobj.put("phones", phobj);

    System.out.println(jsonobj.toString());
    return jsonobj.toString();
}

1

这些前几行可以作为额外的键添加到父级 jsonobj 中:

jsonobj.put("status", "ok");
jsonobj.put("count", 10);
jsonobj.put("pages", totalPages);

jsonobj.put("category", categoryMap);

这些变量的生成取决于您获取数据的位置。例如,这是来自数据库吗?
计数和页数似乎表明有51-60个可用项目,每页10个项目,共6页。
状态变量可以用于指示错误,因此可能的另一个值是:
jsonobj.put("status", "error");
jsonobj.put("errorcode", "101");
jsonobj.put("error message", "big database error");

这样客户端就可以检查响应中的status字符串并优雅地捕获错误。

这没问题,先生。我是新手,您能否提供整个代码呢?我的意思是我无法运行它。谢谢您,先生。 - Whats Going On

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接