我需要以这种格式将数据发送到数据库 -
vm = new JSONStringer().object().key("param1").value("value1")
.object().key("param2").value("value2")
.key("param3").object()
.key("username").value("admin")
.key("password").value("123")
.endObject().endObject().endObject();
如何使用JSONStringer生成它?
我试过了 -
select * from tableName
where tableName.field_type='22'
and
tableName.field_id
NOT IN(select aField_id from TableName where status !='Active')
但是我收到了这个错误 -
org.json.JSONException:嵌套问题在 org.json.JSONStringer.beforeValue(JSONStringer.java:415)
答案 0 :(得分:2)
JSONObject object1 = new JSONObject();
object1.put("param1", "value1");
object1.put("param2", "param2");
JSONObject innerObject1 = new JSONObject();
innerObject1.put("username", "admin");
innerObject1.put("password", "123");
object1.put("param3",innerObject1);
String jsonStr = object1.toString();
理想情况下,可以应用JSON解析的反向来创建json字符串对象,以便将相同的内容发送到Server / DB
答案 1 :(得分:1)
试试这个
try {
JSONObject object=new JSONObject();
object.put("param1","value1");
object.put("param2","value2");
JSONObject param3=new JSONObject();
paraam3.put("username","admin");
paraam3.put("password","123");
object.put("param3",param3);
} catch (JSONException e) {
e.printStackTrace();
}
答案 2 :(得分:1)
您可以创建与您的JSON文件相同的模型,并且可以使用Google支持的 gson
库进行JSON解析。该库非常灵活,易于使用,然后使用传统的JSON解析方法。
模型文件
public class Response {
public String param1;
public String param2;
public Param3 param3;
public Response(String param1, String param2) {
this.param1 = param1;
this.param2 = param2;
}
public class Param3 {
public String username;
public String password;
public Param3(String username, String password) {
this.username = username;
this.password = password;
}
}
}
在您插入数据的文件中
Response res = new Response("value1", "value2", new Param3("admin","123"));
String dbResult = new Gson.toJson(res);