首页 > 解决方案 > 在 Android 中将 JSON 字符串编写为字符串

问题描述

我正在创建一个使用 volley 的应用程序。我使用 JsonObjectRequest() 通过凌空发送 Json 对象。因此,我必须从编辑文本中获取的值创建 Jason 对象。

btn_enter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SN1 = inputsn.getText().toString();
                Name1 = inputname.getText().toString();

            }
        });

        JSONObject jsonMenu= null;
        try {

            jsonMenu = new JSONObject("");//string is to be added here
            Toast.makeText(Add.this,"Made Obj",Toast.LENGTH_SHORT);
        } catch (JSONException e) {
            e.printStackTrace();
            Log.d("Add","Error");
        }
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, URL,jsonMenu, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Log.d("MainActivity",response.toString());
                Toast.makeText(Add.this,"Response Received",Toast.LENGTH_SHORT);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(Add.this,"Error",Toast.LENGTH_SHORT);

            }
        });
        RequestQueue queue= Volley.newRequestQueue(this);
        queue.add(request);

这里, [{"SN":1,"Name":"Ajeeb"}] 值 1 和 Ajeeb 将分别替换为 SN1 和 Name1 的值。这样我就可以将它添加到 Java 代码中

JSONObject jsonMenu = new JSONObject("\\String goes here");

标签: androidjsonandroid-volley

解决方案


您可以为 json 对象创建属性,而不是为您的 Json 对象创建属性

jsonMenu.addProperty("SN", SN1); jsonMenu.addProperty("Name", Name);

这将导致{"SN":1,"Name":"Ajeeb"}

如果你想为它创建一个数组 JSONArray jsonArray = new JSONArray(); jsonArray.put(jsonMenu); 这将导致[{"SN":1,"Name":"Ajeeb"}]


推荐阅读