我正在尝试创建一个复杂的嵌套对象:
{
"user":{
"type":"facebook",
"first_name":"harsha",
"last_name":"mv",
"gender":"male"
},
"friends":[
{
"id":"23",
"name":"Vachana"
},
{
"id":"23",
"name":"Jyosna"
},
{
"id":"23",
"name":"Avinash"
}
]
}
Android Java代码:
JSONObject user = new JSONObject();
try {
user.put("first_name", "harsha");
user.put("last_name", "mv");
user.put("gender", "mail");
System.out.println(user);
} catch (JSONException e1) {
e1.printStackTrace();
}
我想嵌套其他对象,如上所示。有人能告诉我怎么做吗?我需要使用什么功能或格式?
答案 0 :(得分:9)
'朋友'是JSONArray
,其每个项目都是JSONObject
。只需使用JSONObject
或JSONArray
作为值。对于数组,您还必须指定索引。
答案 1 :(得分:5)
JSONObject中有一个函数
put(String string, Object value)
它接受一个JSONArray,你可以使它成为JSONObject的数组。我想你的“朋友”类可以生成放入列表的JSONObject。
答案 2 :(得分:2)
查看这些JSON编码示例,以便您可以轻松管理它。
答案 3 :(得分:1)
我正在切换主题,但坚持要使用 Gson ,因为它使用运行时getter / setter维护一个类中的all元素
答案 4 :(得分:1)
使用此Json jar文件自动设置并根据标记名获取值(例如:名字,姓氏等) 下载和使用jar文件来自belo链接
答案 5 :(得分:1)
Gson最适合这个,使用Gson你可以使用常规的java类并将它们转换为JSON对象,这里有一个示例:
public class Member
{
public String ID;
public String FirstName;
public String LastName;
public String Email;
public String DisplayName ;
public String DOB;
public String AboutMe;
public String MemberType;
public String UserTypeName;
}
initiate Member class and fill in the values
Member member = new Member();
member.ID = "1";
.......
//now use GSON to get the JSON
Gson gson = new Gson();
String JSONString = gson.toJson(member);
答案 6 :(得分:0)
如果要创建嵌套的json对象,则可以使用以下代码:
JSONObject objFirst = new JSONObject();
objFirst.put("description", "ADBCD");
objFirst.put("type", "TEXT");
JSONObject objSecond = new JSONObject();
objSecond.put("askjdhasjk", "XYZ");
objFirst.accumulate("This Nw", objSecond);
答案 7 :(得分:0)
//Import the following
//import java.util.ArrayList;
//import org.bson.Document;
Document root= new Document();
Document rootUser = new Document();
ArrayList rootFriends= new ArrayList();
Document rootFriends0 = new Document();
Document rootFriends1 = new Document();
Document rootFriends2 = new Document();
rootUser.append("type","facebook");
rootUser.append("first_name","harsha");
rootUser.append("last_name","mv");
rootUser.append("gender","male");
rootFriends0.append("id","23");
rootFriends0.append("name","Vachana");
rootFriends1.append("id","23");
rootFriends1.append("name","Jyosna");
rootFriends2.append("id","23");
rootFriends2.append("name","Avinash");
if (!rootUser.isEmpty()){
root.append("user",rootUser);
}
if (!rootFriends.isEmpty()){
root.append("friends",rootFriends);
}
if (!rootFriends0.isEmpty()){
rootFriends.add(rootFriends0);
}
if (!rootFriends.isEmpty()){
root.append("friends",rootFriends);
}
if (!rootFriends1.isEmpty()){
rootFriends.add(rootFriends1);
}
if (!rootFriends.isEmpty()){
root.append("friends",rootFriends);
}
if (!rootFriends2.isEmpty()){
rootFriends.add(rootFriends2);
}
if (!rootFriends.isEmpty()){
root.append("friends",rootFriends);
}
System.out.println(root.toJson());