2 回答
TA贡献1790条经验 获得超9个赞
您必须初始化JSONObject和ArrayList<SimilarUserScores>。
然后,您必须获取JSONArray并对其进行迭代。
对于每次迭代,您都将数据设置到对象中,然后将其附加到输出列表中。这是一个工作代码示例:
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONObject;
String s = "{\"similarUserScores\":[{\"user\":\"u26\",\"score\":0.6199970840986468}, ...
ArrayList<SimilarUserScores> objects = new ArrayList();
JSONObject obj = new JSONObject(s);
JSONArray scores = obj.getJSONArray("similarUserScores");
for (int i = 0; i < scores.length(); i++) {
JSONObject element = scores.getJSONObject(i);
SimilarUserScores object = new SimilarUserScores();
object.setUser(element.getString("user"));
object.setScore(element.getDouble("score"));
objects.add(object);
}
前面的代码假定JSON在String变量中,并且您已经定义了SimilarUserScores类。此代码使用“ JSON”库。如果您使用的是maven,则可以导入它,并在pom.xml中的标记下添加以下代码段<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
TA贡献1876条经验 获得超6个赞
您需要在自己的包装纸SimilarUserScores。
老实说,您的内部类应该更好地命名 UserScore
public class SimilarUserScores {
private List<UserScore> similarUserScores;
// Getter setter
}
public class UserScore {
private String user;
private double score;
}
现在针对SimilarUserScores类解析您的json
添加回答
举报