gpt4 book ai didi

java - 如何将 JSON 数组转换为 Java 字符串数组

转载 作者:行者123 更新时间:2023-12-02 13:37:03 24 4
gpt4 key购买 nike

我有一个 php 文件,它从特定列中获取所有行。然后将结果放入数组中,然后进行 json_encoded。当我 Toast php 文件的输出时,它显示带有正确值的 JSON 字符串。我需要将其转换为 Java 字符串数组,以便我可以在单击按钮时逐一迭代它。
我在这里尝试了多种解决方案,但均无济于事,因此我们将不胜感激任何帮助!

getImage.php

$sql = "SELECT advert_File_Path FROM Ads";
$result = $mysql_con->query($sql) or die('Query problem: '.mysqli_error($mysql_con));

//create array
$resultarray = array();

while($row = mysqli_fetch_assoc($result)){
$resultarray[] = $row;
}
echo json_encode($resultarray);

MainActivity.java(仅相关代码)

 private void loadNextAdvert()
{
Toast.makeText(this, "Please wait, image may take a few seconds to load...", Toast.LENGTH_LONG).show();

dbhelper = (DbHelper) new DbHelper(new DbHelper.AsyncResponse() {
@Override
public void processFinish(String output) {
if(output.equalsIgnoreCase("exception") || output.equalsIgnoreCase("unsuccessful")){
Toast.makeText(MainActivity.this, "Connection error", Toast.LENGTH_SHORT).show();
}else{
//initializes ArrayList
stringList = new ArrayList<>();
try {
//initializes JSONArray with output from php getImage file
jsonArray = new JSONArray(output);
if(jsonArray != null){
int len = jsonArray.length();
for(int i=0; i<len; i++){
stringList.add(jsonArray.get(i).toString());
}
}

} catch (JSONException e) {
e.printStackTrace();
}
Toast.makeText(MainActivity.this, String.valueOf(stringList), Toast.LENGTH_LONG).show();
}
}
}).execute(loadPic);
}

应显示 ArrayList 内容的 Toast 仅显示为“[]”。

最佳答案

我自己解决了这个问题。
所以,

第 1 步。我必须从我的 php 文件中删除注释代码,因为它以某种方式突破,这就是 JSON 数组末尾的代码。

步骤 2. 我必须从用于错误检查的 php 文件中删除额外的 echo。我认为我说得对,您想要的唯一 echo 是 json_encode。

步骤 3. 检查 Java 中 JSONarray 的长度,它正在记录 5,所以我现在知道它读取正确。

步骤 4. 添加 Pavneet_Singh 的代码 fragment 来替换 stringList.add(jsonArray.get(i).toString());
stringList.add(jsonArray.getJSONObject(i).optString("advert_File_Path"));


步骤 5. 使用以下代码将 stringList 从 ArrayList 转换为 String 数组 stringArray = new String[stringList.size()];
stringArray = stringList.toArray(stringArray);


快乐的时光!我花了太长时间试图弄清楚这一点,哈哈,前两个步骤相当新手,但有时生活中最明显的事情却是最难找到的。希望这也可以帮助其他人!

关于java - 如何将 JSON 数组转换为 Java 字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42931563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com