如何在java,tomcat,eclipse中创建JSON数据的Restful Web服务

时间:2013-11-26 06:40:18

标签: java json rest

我有一个像this这样的JSON数据。我想创建一个Restful web服务,生成一个JSON输出,如上面的链接。

我看了How to Create a Restful service for a Huge JSON data using Java eclipse Tomcat7.0

我想在上述条件中添加:

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

之前的答案就是这个,..

{
category:{/[

我想要这个

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

2 个答案:

答案 0 :(得分:6)

看看这个答案

典型的JSON如下所示

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

用于创建上述JSON的Java代码如下所示

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 :(得分:1)

可以将前几行作为附加键添加到父jsonobj

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

jsonobj.put("category", categoryMap);

如何生成这些变量取决于您从哪里获取数据。例如,它是一个数据库吗?

计数和页数似乎表明有51到60个项目可用,每页10个项目和6个页面。

Status变量可用于指示错误,因此另一个可能的值可能是:

jsonobj.put("status", "error");
jsonobj.put("errorcode", "101");
jsonobj.put("error message", "big database error");

这允许客户端检查响应中的status字符串并正常捕获错误。