简体   繁体   English

For循环迭代Array中的JSON对象

[英]For Loop to iterate over JSON objects inside an Array

How do I get and show each and every JSON's Object's value those I have inside an Array called learning 如何get and show我在一个名为learningArray每个JSON's Object's value

Here is how JSON Array looks like: 以下是JSON Array的外观:

"learning": [
 {
  "code":"2K14 - 2",
  "os":"Windows - 2"
 },
 {
  "code":"2K15 - 2",
  "os":"Linux - 2"
 },
 {
  "code":"2K16 - 2",
  "os":"Mac - 2"
 }
]

Code

List<Learning> learning = value.getLearning();
for(Learning m : learning) {
     // I guess, here I am missing something, which is really useful
     String code = m.getCode();
     String os = m.getOs();
     viewHolder.learning.setText("Code: "+code+" OS: "+os);
}

When I execute my program, getting this: 当我execute我的程序时, getting这个:

Code: 2k16, OS: Mac - 2

Whereas I want to get something like this : 而我want to get类似this

Code: 2k14 OS: Windows - 2,  Code: 2k15 OS: Linux - 2, Code: 2k16 OS: Mac - 2

Do it as, if want to show all data in single TextView : 如果要在单个TextView显示所有数据,请执行以下操作:

viewHolder.learning.append("Code: "+code+" OS: "+os + ", ");

Use TextView.append instead of TextView.setText 使用TextView.append而不是TextView.setText

Can you post your Retrofit interface and all the model classes related to that? 你可以发布你的Retrofit界面和与之相关的所有模型类吗?

and then you will have something like this to read it. 然后你会有这样的东西来阅读它。

String text = "";
List<Learning> learning = value.getLearning();
for(Learning m : learning) {
     // I guess, here I am missing something, which is really useful
     String code = m.getCode();
     String os = m.getOs();
     text = text + "Code: " + code + " OS: " + os + ", ";
}
viewHolder.learning.setText(text);
JSONArray jsonArray = jsonObj.getJSONArray("learning");

for(int i = 0; i < jsonArray.length(); i++)
{
    JSONObject obj  = jsonArray.getJSONObject(i);
    String code = obj.getString("code");
    String os = obj.getString("os");

    Log.i("MyClass", "Code -> " + code);
    Log.i("MyClass", OS -> " + os);

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM