java Android将字符串转换为JSON
我需要关于如何在Android中开发一个方法的建议,该方法必须选择一个加载了JSON数据的字符串,然后将其转换回JSON
目前,我已经编写了以下程序,但我不确定我是否在正确的轨道上
private void convert_JSON()
{
String json;
//funcions per a cridar el string amb JSON i convertir-lo de nou a JSON
JSONArray jsas = new JSONArray();
for (int i =0; i < jsas.length(); i++)
{
JSONObject message = jsas.getJSONObject(i);
String content = message.getString("content");
}
}
JSON在另一种方法中加载到字符串中:
private void read_JSON(String json)
{
JSONObject jObject = new JSONObject(json);
JSONArray jso3 = new JSONArray (jObject.getString("Nombres_Hijos"));
String name = jso3.getString("Nombre");
System.out.println(name);
String surname = jso3.getString("Apellidos");
System.out.println(surname);
int date = jso3.getInt("Año_nacimiento");
System.out.println(date);
JSONArray jsa2 = jso3.getJSONArray ("Nombres_Hijos");
String names = jsa2.toString();
for (int i=0; i < jsa2.length(); i++)
{
System.out.println(jsa2.getString(i));
}
jso3.toString(json);
}
最后,JSON是在MainActivity中创建的。java,还不是一个可以正常工作的拆分文件:
private void create_JSON(String json)
{
JSONObject jso = new JSONObject();
try {
jso.put("Nombre","Miguel");
jso.put("Apellidos", "Garcia");
jso.put("Año_nacimiento", 1990);
JSONArray jsa = new JSONArray();
jsa.put("Blur");
jsa.put("Clur");
jso.put("Nombres_Hijos", jsa);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jso.toString();
简而言之:我想知道的是,我的convert_JSON方法是否正确,或者我误解了它的工作原理
非常感谢你的帮助
你诚挚的
毛罗
# 1 楼答案
可以使用构造函数从
String
创建JSONObject
:要将
JSONObject
转换为String
,只需使用toString()
方法:此外,如果试图从
JSONObject
中获取特定的String
值,可以执行以下操作:最后,如果您不太习惯使用
JSONObject
,我建议使用droidQuery提供的工具来帮助您进行分析,例如:及
# 2 楼答案
如果你想要一个纯复制/粘贴的例子,看看here 或者,我建议使用许多有良好文档记录的库中的一个。我个人最喜欢的是GSON
网上有很多关于如何使用这个的例子
# 3 楼答案
可以使用以下
JSONObject(String json)
构造函数将json字符串转换回json:只要把它放在
try
catch
块中,你就可以开始了:)