【问题标题】:Create JSON ArrayList/JSON object and send to PHP in Android在 Android 中创建 JSON ArrayList/JSON 对象并发送到 PHP
【发布时间】:2017-06-02 11:14:09
【问题描述】:

我在 JAVA 中有两个字符串数组列表(问题,答案)。我必须将这两个数组列表放在一个 JSONobject 或 JSONArraylist 中,并且需要作为 json 对象或数组列表发送到 php。我必须迭代两个数组一一列举。

我想获取json对象或arraylist之类的

$array1=array(2, 4);\\First Requested array
$array2=array(5, 96);\\Second Requested array
$array = array(
    'r1' =>$array1 ,
    'r2' => $array2,

    ); 

我不知道如何将两个数组放在一个数组列表或对象中..

我的 ArrayList 是

ArrayList<String> Questions = new ArrayList<String>();
ArrayList<String> Answers = new ArrayList<String>();

我不知道如何将两个数组放在一个arraylist中以及如何发送,接收json对象。

在此先感谢...

【问题讨论】:

    标签: java php android json arraylist


    【解决方案1】:

    试试这个:

    ArrayList<String> Questions = new ArrayList<String>();
    ArrayList<String> Answers = new ArrayList<String>();
    ArrayList<String> Q&A = new ArrayList<String>();
    JSONObject send = new JSONObject;
    
        JSONObject jo;
        for (int i = 0; i < your_arrayList.size(); i++) {
           jo = new JSONObject(); // when to loop start it will prom a new JSONObject
           jo.put("STRING_NAME", "FIRST_ARRAYLIST".get[i]); // get your arrayList index
           jo.put("STRING_NAME", "SECOND_ARRAYLIST".get[i]); // get your arrayList index
    
           Q&A.add(jo.toString()); // pass the JSONObject into your arrayList
        }
        send.put("STRING_NAME", Q&A); //pass your arrayList in your JSONObject
    

    然后使用您的方法发送它:) 如果您的方法中有arrayList,您可以发送问答,希望这会有所帮助,如果您需要jsonObject,您可以发送发送JSONObject

    【讨论】:

    • 您需要的确切输出是什么?
    【解决方案2】:

    试试下面的代码:

    $array1=array(2, 4);\\First Requested array
    $array2=array(5, 96);\\Second Requested array
    $array['arrayList'] = array('r1' =>$array1 ,'r2' => $array2); 
    
    $jsonString = json_encode($array);
    echo $jsonString;
    

    【讨论】:

    • 我在 java 中创建了两个数组列表。我需要将其转换为 json 对象
    【解决方案3】:

    试试这个

        ArrayList<String> Questions = new ArrayList<String>();
        ArrayList<String> Answers = new ArrayList<String>();
    
        JSONArray finalJson = new JSONArray();
        for (int i = 0; i < Questions.size(); i++)
        {
            JSONObject json = new JSONObject();
    
                json.put("Question", Questions.get(i);
    
                finalJson.put(json);
    
        }
    
        JSONArray finalJson1 = new JSONArray();
        for (int j = 0; j < Answers.size(); i++)
        {
            JSONObject json = new JSONObject();
    
                json.put("Answer", Answers.get(j);
    
                finalJson1.put(json);
    
        }
    
    JSONObject resultjson = new JSONObject();
    resultjson.put("Questions", finalJson);
    resultjson.put("Answers", finalJson1);
    

    如果您想将 json 上传到服务器,下面的示例将对您有所帮助

    http://blog.appliedinformaticsinc.com/sending-json-data-to-server-using-async-thread/

    resultjson 是

    {
    "Questions": [
        {
            "Question":"...."
        },
        {
            "Question":"...."
        },
        {
            "Question":"...."
        }
        ],
    
    "Answers": [
        {
           "Answer":"...."
        },
        {
           "Answer":"...."
        },
        {
           "Answer":"...."
        }
        ]
    }
    

    【讨论】:

    • 我遵循了您的代码。但我不知道我将以哪种格式在 php 中获取 json 数据。请帮助我...
    • 兄弟我只想要像 $array1=array(2, 4);$array2=array(5, 96); 这样的数组在 php 中。
    • 第一个数组(Question1,question2,....) 第二个数组(Answer1,Answer2,...)
    【解决方案4】:

    使用json_encode() 如下。json_encode() 用于将您的数组转换为 json 字符串。

    $array = array(
        'r1' =>$array1 ,
        'r2' => $array2,
    
        );
    $json = json_encode($array);
    echo $json;
    

    更多信息请看这里http://php.net/manual/en/function.json-encode.php

    【讨论】:

      猜你喜欢
      • 2012-12-15
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多