gpt4 book ai didi

android - 根据 JSON 响应添加文本

转载 作者:搜寻专家 更新时间:2023-11-01 09:38:35 25 4
gpt4 key购买 nike

我将收到包含以下内容的 JSON 响应:

 {..."Weekday":[3,4,2],...} //numbers might not be in Ascending order

然后根据“工作日”中的内容,我将打印星期日为 0,星期一为 1,依此类推。所以上面打印出来的文本是;

"Tuesday,Wednesday,Thursday" //This should be in ascending order

我如何检查和打印我想要的,我这样做的方式是这样的:

JSONObject obj = new JSONObject(result); //result from backend
JSONObject DayOff = obj.getJSONObject("Weekday");

...

tvWeekdays = (TextView) getActivity().findViewById(R.id.tvWeekdays);
tvWeekdays.setText("The final result");

我不确定如何实现这一点,我在考虑 while 循环或 if 语句会有帮助吗?

---更新---

            JSONArray array = obj.getJSONArray("Weekday");
if (array == null){

tvDayOff = (TextView) getActivity().findViewById(R.id.tvDayOff);
tvDayOff.setText("None");
}
// Create an int array to accomodate the numbers.
int[] numbers = new int[array.length()];
Arrays.sort(numbers);
// Extract numbers from JSON array.
for (int i = 0; i < array.length(); ++i) {
numbers[i] = array.optInt(i);
System.out.println(
DateFormatSymbols.getInstance().getWeekdays()[numbers[i]]
);

}

最佳答案

这是一个简单的例子,说明如何根据语言环境获取值:

public static void main(String[] args){
for(int i = 0; i < 7; ++i)
System.out.println(
DateFormatSymbols.getInstance().getWeekdays()[i+1] //First cell is empty...
);
}

这是我的输出(法语语言环境):

dimanche //Sunday
lundi //Monday
mardi
mercredi
jeudi
vendredi
samedi //Saterday

由此,您只需使用 Arrays.sort(int[]) 对整数数组进行排序并获取字符串。

如果不使用 JSON,这将像这样完成:

public static void main(String[] args){
int[] array = {3, 5, 2}; //The array
Arrays.sort(array); //Sort the array
for(int i = 0; i < array.length; ++i) //Loop on the result
System.out.println(
DateFormatSymbols.getInstance().getWeekdays()[array[i]]
);
}

最后一步是获取数组,为此,我建议您阅读 this answer

编辑:

你不能在一个循环中完成它。您首先需要获取值,然后对数组进行排序。完成后,您可以按正确的顺序获取字符串

// Create an int array to accomodate the numbers.
int[] numbers = new int[array.length()];
// Extract numbers from JSON array.
for (int i = 0; i < array.length(); ++i) {
numbers[i] = array.optInt(i);
}
Arrays.sort(numbers);
for (int i = 0; i < numbers.length; ++i) {
System.out.println(
DateFormatSymbols.getInstance().getWeekdays()[numbers[i]]
);
}

关于android - 根据 JSON 响应添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41341148/

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