Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中为这种格式生成JSON Stringer_Java_Android_Json - Fatal编程技术网

Java 如何在Android中为这种格式生成JSON Stringer

Java 如何在Android中为这种格式生成JSON Stringer,java,android,json,Java,Android,Json,我需要以这种格式将数据发送到数据库- {"param1":"value1", "param2":"value2", "param3": {"username": "admin", "password": "123"}} 如何使用JSONStringer生成此文件 我试过这个- vm = new JSONStringer().object().key("param1").value("value1") .object().key("param2").value

我需要以这种格式将数据发送到数据库-

{"param1":"value1", "param2":"value2", "param3": {"username": "admin", "password": "123"}}
如何使用JSONStringer生成此文件

我试过这个-

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();
但我得到了这个错误-

org.json.JSONException: org.json.JSONStringer.beforeValue(JSONStringer.java:415)

试试这个

  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();
    }

理想情况下,可以应用JSON解析的反向来创建JSON字符串对象,以便将其发送到服务器/DB

您可以创建与JSON文件相同的java文件模型,并可以使用Google支持的库来进行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);

异常处理不应该是答案的一部分,因为它不相关
Response res = new Response("value1", "value2", new Param3("admin","123"));
String dbResult = new Gson.toJson(res);