android - 在 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");
解决方案
您可以为 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"}]
推荐阅读
- math - 这个方程是什么意思 N(1 <= N <= 100)
- spring - 如何从多个 RepositoryItemReaders 读取并写入一个 RepositoryItemWriter
- c# - ExportRenderer 上的`System.Reflection.TargetInvocationExceptionExportRenderer`
- python - 从 Python 创建 PNG 文件并确保某些单元格是透明的
- javascript - 光滑的轮播:滑动可变数量的元素
- c# - 1 Uncaught (in promise) SyntaxError: Unexpected token 。在 JSON 中的位置 4
- c++ - 容器的模板化元素比较函数
- azure - Azure 上的 nginx 入口设置(不使用 helm)故障排除
- python - Py Selenium find elements inside element not working
- react-redux - Redux-Form 多行 Google Material UI TextField 在显示后不会自动调整大小