我需要从android发送一个JSON对象,我应该发送的格式为:
{
"type": "sample string 1",
"features": [
{
"type": "sample string 1",
"properties": {
"fulcrum_id": "sample string 1",
"fulcrum_parent_id": "sample string 2",
"fulcrum_record_id": "sample string 3",
"version": "sample string 4",
"created_at": "sample string 5",
"updated_at": "sample string 6",
"created_by": "sample string 7",
"updated_by": "sample string 8",
"form010058": "sample string 9",
"form010059": "sample string 10",
"form010060": "sample string 11",
"form010060_other": "sample string 12"
},
"geometry": "sample string 2"
},
{
"type": "sample string 1",
"properties": {
"fulcrum_id": "sample string 1",
"fulcrum_parent_id": "sample string 2",
"fulcrum_record_id": "sample string 3",
"version": "sample string 4",
"created_at": "sample string 5",
"updated_at": "sample string 6",
"created_by": "sample string 7",
"updated_by": "sample string 8",
"form010058": "sample string 9",
"form010059": "sample string 10",
"form010060": "sample string 11",
"form010060_other": "sample string 12"
},
"geometry": "sample string 2"
},
{
"type": "sample string 1",
"properties": {
"fulcrum_id": "sample string 1",
"fulcrum_parent_id": "sample string 2",
"fulcrum_record_id": "sample string 3",
"version": "sample string 4",
"created_at": "sample string 5",
"updated_at": "sample string 6",
"created_by": "sample string 7",
"updated_by": "sample string 8",
"form010058": "sample string 9",
"form010059": "sample string 10",
"form010060": "sample string 11",
"form010060_other": "sample string 12"
},
"geometry": "sample string 2"
}
]
}
现在,我没有办法编写这种类型的JSON对象。 我想知道我是否必须编写一个JSON数组然后逐个放入每个条目,或者我可以直接获取具有此数据的对象并将其传递给JSON:
JSONObject jsonObject = new JSONObject();
jsonObject.accumulate("type", obj);
请指导我编写这种类型的JSONObject,因为我最近学过JSON Web服务,但没有得到一个逻辑来塑造这个复杂的对象。
答案 0 :(得分:0)
你基本上想把Json字符串发送到服务器所以我认为以下程序解决了你的问题:
1.将此jar添加到依赖项下的build.gradle
文件中:
'com.google.code.gson:gson:2.3.1'
您可以通过以下方式将对象转换为json字符串:
让我们假设您已经创建了一个名为Example.Java的模型类,并且在您的代码中创建了该对象
Example example = new Example();
现在您可以将示例对象转换为json,如下所示:
Gson gson = new Gson();
gson.fromJson(example , Example .class);
要将json字符串转换为相应的对象,您可以使用this
如果你还有疑问,请在下方评论
答案 1 :(得分:0)
你的课应该是这样的:
public class CustomClass{
String type;
List<Feature> features;
class Feature{
String type;
Properties properties;
String geometry;
}
class Properties{
String fulcrum_id;
String fulcrum_parent_id;
String fulcrum_record_id;
.
.
.
}
}
创建一个实例,输入你想要的值,然后用Gson库将它转换为Json:
String json = new Gson().toJson(myObject)
答案 2 :(得分:0)
应用此代码,因为它将获得所需的精确输出。
JSONObject jObj = new JSONObject();
try {
jObj.put("type", "sample string 1");
JSONArray jArray = new JSONArray();
for(int i=0;i<3;i++) {
//creating jsonobject for particular jsonarray index
JSONObject inObj = new JSONObject();
inObj.put("type", "sample string 1");
//creating another jsonobject into jsonarray index
JSONObject nestedInObj = new JSONObject();
nestedInObj.put("fulcrum_id", "sample string 1");
nestedInObj.put("fulcrum_parent_id", "sample string 2");
nestedInObj.put("fulcrum_record_id", "sample string 3");
nestedInObj.put("version", "sample string 4");
nestedInObj.put("created_at", "sample string 5");
nestedInObj.put("updated_at", "sample string 6");
nestedInObj.put("created_by", "sample string 7");
nestedInObj.put("updated_by", "sample string 8");
nestedInObj.put("form010058", "sample string 9");
nestedInObj.put("form010059", "sample string 10");
nestedInObj.put("form010060", "sample string 11");
nestedInObj.put("form010060_other", "sample string 12");
// now putting nestedInObj into JSONobject for jsonarray index
inObj.put("properties", nestedInObj);
inObj.put("geometry", "sample string 2");
// adding JSONobject to jsonarray index
jArray.put(inObj);
}
//putting whole JSONarray to main jsonobjct
jObj.put("features", jArray);
} catch (JSONException e) {
e.printStackTrace();
}
Log.e("json", jObj.toString());
如果有任何困难,请告诉我,我很乐意提供帮助。
快乐的编码!