Android将字符串转换为JSON [已关闭]

2mbi3lxu  于 2023-03-24  发布在  Android
关注(0)|答案(3)|浏览(152)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

九年前就关门了。
Improve this question
我需要关于如何在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在另一个方法中被加载到String中:

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是在www.example.com中创建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是否在正确的轨道上,或者我误解了它应该如何工作。
非常感谢您的帮助。
你诚挚的,
毛罗

k97glaaz

k97glaaz1#

您可以使用以下JSONObject(String json)构造函数将jsonstring转换回json:

JSONObject jsonObject = new JSONObject(jsonString);

只要把它放在一个trycatch块中,你就可以开始了:)

0md85ypi

0md85ypi2#

您可以使用 constructorString创建JSONObject

JSONObject json = new JSONObject(myString);

要将JSONObject转换为String,只需使用toString()方法:

String myString = json.toString();

此外,如果您试图从JSONObject中获取特定的String值,您可以这样做:

if (json.has("content"))
{
    String content = json.getString("content");
    //do something with content string
}

最后,如果您不习惯使用JSONObject,我建议使用droidQuery库提供的工具来帮助您进行解析,例如:

Object[] array = $.toArray(myJSONArray);

以及

Map<String, ?> map = $.map(myJSONObject);
pcrecxhr

pcrecxhr3#

如果你想要一个纯复制/粘贴的例子,可以看看here。或者,我建议使用许多有良好文档的库中的一个。
网上有很多关于如何使用它的例子。

相关问题