从 android 发送 JSON 对象
Sending JSON Object from android
我需要从 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);
请指导我编写这种类型的 JSON 对象,因为我最近学习了 JSON Web 服务,但没有得到塑造这个复杂对象的逻辑。
你基本上想向服务器发送一个 Json 字符串,所以我认为以下过程可以解决你的问题:
1.Add 这个 jar 到你的 build.gradle
文件下的 dependencies :
'com.google.code.gson:gson:2.3.1'
- 现在用你想要的字段名称添加创建一个 class,你可以将这些对象转换成你发布的 json 字符串格式:
您可以通过以下方式将对象转换为 json 字符串:
假设您创建了一个名为 Example.Java 的模型 class,并且在您的代码中有该对象
Example example = new Example();
现在您可以将示例对象转换为 json,如下所示:
Gson gson = new Gson();
gson.fromJson(example , Example .class);
要将 json 字符串转换为相应的对象,您可以使用 this
如有疑问请在下方评论
你的 class 应该是这样的:
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)
按原样应用此代码,您将获得所需的准确输出。
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());
如果有任何困难,请告诉我,我很乐意提供帮助。
编码愉快!
我需要从 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);
请指导我编写这种类型的 JSON 对象,因为我最近学习了 JSON Web 服务,但没有得到塑造这个复杂对象的逻辑。
你基本上想向服务器发送一个 Json 字符串,所以我认为以下过程可以解决你的问题:
1.Add 这个 jar 到你的 build.gradle
文件下的 dependencies :
'com.google.code.gson:gson:2.3.1'
- 现在用你想要的字段名称添加创建一个 class,你可以将这些对象转换成你发布的 json 字符串格式:
您可以通过以下方式将对象转换为 json 字符串:
假设您创建了一个名为 Example.Java 的模型 class,并且在您的代码中有该对象
Example example = new Example();
现在您可以将示例对象转换为 json,如下所示:
Gson gson = new Gson();
gson.fromJson(example , Example .class);
要将 json 字符串转换为相应的对象,您可以使用 this
如有疑问请在下方评论
你的 class 应该是这样的:
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)
按原样应用此代码,您将获得所需的准确输出。
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());
如果有任何困难,请告诉我,我很乐意提供帮助。
编码愉快!