我有一个像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:{
答案 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
字符串并正常捕获错误。