2010-03-15 61 views
0

我想跟随使用org.json.simple.JSONObject JSON数据对象,如何在java中做到这一点?我想使用org.json.simple.JSONObject生成下面的JSON数据对象,如何在java中完成它?

{ 
    friends : [ 
    { 
     name: 'David', 
     interests: 'Cooking', 
    }, 
    { 
     name: 'Charles', 
     interests: 'Hiking', 
    }, 
    { 
     name: 'Mary', 
     interests: 'Football', 
    }, 
    ] 
} 

如果提供了代码snipet,那将非常有帮助!

问候, ABHI

+0

任何机会使用GSON?然后你可以直接使用'List ',而不必与JSON细节混淆。 – BalusC 2010-03-15 19:12:50

+0

请你详细说明一下吗?如果有一个例子,那么它会非常好,因为我是Gson的新手,但我知道你BalusC怎么样? – 2010-03-15 19:20:06

+0

很好,谢谢:)从这里开始举例:http://stackoverflow.com/questions/2413636/communication-between-jsp-and-servlet/2413767#2413767 – BalusC 2010-03-15 19:51:15

回答

1

我知道只有一种方式来删除报价:

public class Test { 
public static void main(String[] args) { 
    JSONArray users = new JSONArray(); 
    users.add(new Entry("key1", "val1")); 
    users.add(new Entry("key2", "val2"));   

    System.out.println(users); 
} 

static class Entry implements JSONAware { 
    private String name; 
    private String interests; 

    public Entry(String name, String interests) { 
     this.name = name; 
     this.interests = interests; 
    } 

    public String toJSONString() { 
     StringBuffer sb = new StringBuffer(); 

     sb.append("{"); 

     sb.append(JSONObject.escape("name")); 
     sb.append(":"); 
     sb.append("\"" + JSONObject.escape(name) + "\""); 

     sb.append(","); 

     sb.append(JSONObject.escape("interests")); 
     sb.append(":"); 
     sb.append("\"" + JSONObject.escape(name) + "\""); 

     sb.append("}"); 

     return sb.toString(); 
    } 
} 

}

输出:

[{name:"key1",interests:"key1"},{name:"key2",interests:"key2"}] 
1
JSONArray arr = new JSONArray(); 

    JSONObject entry = new JSONObject(); 
    entry.put("key1", "value1"); 
    entry.put("key2", "value2"); 

    arr.add(entry); 

    JSONObject json = new JSONObject(); 
    json.put("friends", arr); 

    System.out.println(json.toJSONString()); 

输出:

{"friends":[{"key2":"value2","key1":"value1"}]} 
+0

嗨,谢谢你的快速回复!我还有一个查询,我们不能从键中除去引号,例如:key:'value' – 2010-03-15 19:13:26

相关问题