【问题标题】:Assign Json object to string array将 Json 对象分配给字符串数组
【发布时间】:2016-08-19 08:26:24
【问题描述】:
我有一个如下所示的json字符串
[{"question":"Test Queston 1 ?","option1":null,},{"question":"Test Question 2 ?","option1":null}]
我想将“问题”对象分配给字符串 [] questions_list。如何遍历这个 json 对象?
【问题讨论】:
标签:
java
json
android-studio
【解决方案1】:
您可以为此使用 JSON.org Java 库。只需将库添加到您的项目中。如果你使用 Maven,你可以从这里添加依赖:Maven Repository。
源代码也可以在GitHub 上找到。可以在here.
找到文档
然后你可以这样做:
JSONArray questionsArray = new JSONArray("[{"question":"Test Queston 1 ?","option1":null,},{"question":"Test Question 2 ?","option1":null}]");
for (int i = 0; i < questionsArray.length();, i++){
JSONObject questionJSON = questionsArray.get(i);
String questionName = questionJSON.get("question");
String option1 = question.JSON.get("option1");
//And so on
}
【解决方案2】:
如果我正确理解您的问题,您希望将 JSON 转换为 java 数组。
下面是我写的非常基本的测试:
import java.io.StringReader;
import javax.json.*;
public class JsonTest {
/**
* @param args
*/
public static void main(String[] args) {
String s="[{\"year\":\"2015\",\"org\":\"1\",\"sub_org\":\"2\",\"sub_org_amt\":\"1\"}," +
"{\"year\":\"2016\",\"org\":\"2\",\"sub_org\":\"3\",\"sub_org_amt\":\"1\"}]";
StringReader reader=new StringReader(s);
JsonReader r=Json.createReader(reader);
JsonArray a=r.readArray();
String ar[]=new String[a.size()];
for(int i=0;i<a.size();i++){
ar[i]=a.getJsonObject(i).toString();
System.out.println(ar[i]);
}
r.close();
}
}
输出:
{"year":"2015","org":"1","sub_org":"2","sub_org_amt":"1"}
{"year":"2016","org":"2","sub_org":"3","sub_org_amt":"1"}