Android 我应该如何解析这种JSON?
我不熟悉JSON解析。如果有人能帮助我在Android中解析这种json数组,那将是一个很大的帮助。 多谢各位Android 我应该如何解析这种JSON?,android,json,Android,Json,我不熟悉JSON解析。如果有人能帮助我在Android中解析这种json数组,那将是一个很大的帮助。 多谢各位 { "response": 200, "department": [ "Information Technology" ], "subject": [ "ads(th)" ], "professional": [ "cg(th)", "cg(lab)" ], "semester": [ "3A", "5A"
{
"response": 200,
"department": [
"Information Technology"
],
"subject": [
"ads(th)"
],
"professional": [
"cg(th)",
"cg(lab)"
],
"semester": [
"3A",
"5A",
"5A"
]
}
这是你的回答:
{
"response": 200,
"department": [
"Information Technology"
],
"subject": [
"ads(th)"
],
"professional": [
"cg(th)",
"cg(lab)"
],
"semester": [
"3A",
"5A",
"5A"
]
}
你可以这样做
String responseString="" //this string is ur web service response
try {
//JSON is the JSON code above
JSONObject jsonResponse = new JSONObject(responseString);
JSONArray department = jsonResponse.getJSONArray("department");
String hey = department.toString();
JSONArray subject = jsonResponse.getJSONArray("subject");
String sub = subject.toString();
JSONArray professional= jsonResponse.getJSONArray("professional");
String pro = professional.toString();
//like this u can parse other JsonArray
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在jsonarray中获得这些值之后,您希望在spinner中显示它,而不是像这样做
String responseString="" //this string is ur web service response
try {
//JSON is the JSON code above
JSONObject jsonResponse = new JSONObject(responseString);
JSONArray department = jsonResponse.getJSONArray("department");
String hey = department.toString();
JSONArray subject = jsonResponse.getJSONArray("subject");
String sub = subject.toString();
JSONArray professional= jsonResponse.getJSONArray("professional");
String pro = professional.toString();
//like this u can parse other JsonArray
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ArrayList listdata=new ArrayList();
如果(专业!=null){
对于(inti=0;itry{//解析JSON时,需要try-catch来处理发生的错误
JSONObject fullJSON=新的JSONObject(“{”回应“:200,“部门“:[”信息技术“],”主题“:[”广告(th)\”],”专业“:[”cg(th)\“,”cg(实验室)\”],”学期“:[”3A\“,”5A\“,”5A\”);
int response=fullJSON.getInteger(“response”);
JSONArray department=fullJSON.getJSONArray(“部门”);
Log.i(“,department.getString(0));
JSONArray学期=fullJSON.getJSONArray(“学期”);
对于(int i=0;i我建议您使用
使用Gson,您的映射类将如下所示:
public class YourClass {
@SerializedName("response")
private Integer response;
@SerializedName("department")
private List<String> department;
@SerializedName("subject")
private List<String> subject;
@SerializedName("professional")
private List<String> professional;
@SerializedName("semester")
private List<String> semester;
}
公共类您的类{
@SerializedName(“响应”)
私有整数响应;
@序列化名称(“部门”)
私人名单部;
@序列化名称(“主题”)
私人名单科目;
@序列化名称(“专业”)
私人名单专业人士;
@序列化名称(“学期”)
私人名单学期;
}
使用Gson,您可以轻松地在POJO中转换Json(反之亦然)。请查看文档。试试这个
try {
JSONObject obj_result=new JSONObject(result);
String response=obj_result.getString("response");
JSONArray arr_department=obj_result.getJSONArray("department");
for(int i=0;i<arr_department.length();i++)
{
String department_name=arr_department.getString(i);
Log.d("TAG","department_name:"+department_name);
}
JSONArray arr_subject=obj_result.getJSONArray("subject");
for(int i=0;i<arr_subject.length();i++)
{
String subject_name=arr_subject.getString(i);
Log.d("TAG","subject_name:"+subject_name);
}
JSONArray arr_professional=obj_result.getJSONArray("professional");
for(int i=0;i<arr_professional.length();i++)
{
String professional_name=arr_professional.getString(i);
Log.d("TAG","professional_name:"+professional_name);
}
JSONArray arr_semester=obj_result.getJSONArray("semester");
for(int i=0;i<arr_semester.length();i++)
{
String semester_name=arr_semester.getString(i);
Log.d("TAG","semester_name:"+semester_name);
}
} catch (JSONException e) {
e.printStackTrace();
}
试试看{
JSONObject对象结果=新JSONObject(结果);
字符串响应=obj_result.getString(“响应”);
JSONArray arr_department=obj_result.getJSONArray(“department”);
对于(int i=0;iParse使用哪种语言?Android中的java..但是我如何存储它并在spinner中显示它?如果你能帮我的话,这将是一个很大的帮助!!是的,你可以在spinner中显示它,但你想在professional或Semmer中显示什么?检查下面的代码以在spinner中显示项目我不能将整个代码放在注释中我正在使用4 spinner和每个数组应该放在每个微调器中。可以这样做吗?@AnujGajbhiye我已经编辑了答案,请再次检查…如果你有任何问题,你可以问…是的,你也可以用4个不同的微调器来做…就像我为专业做的那样,你可以为所有其他3个微调器做
public class YourClass {
@SerializedName("response")
private Integer response;
@SerializedName("department")
private List<String> department;
@SerializedName("subject")
private List<String> subject;
@SerializedName("professional")
private List<String> professional;
@SerializedName("semester")
private List<String> semester;
}
try {
JSONObject obj_result=new JSONObject(result);
String response=obj_result.getString("response");
JSONArray arr_department=obj_result.getJSONArray("department");
for(int i=0;i<arr_department.length();i++)
{
String department_name=arr_department.getString(i);
Log.d("TAG","department_name:"+department_name);
}
JSONArray arr_subject=obj_result.getJSONArray("subject");
for(int i=0;i<arr_subject.length();i++)
{
String subject_name=arr_subject.getString(i);
Log.d("TAG","subject_name:"+subject_name);
}
JSONArray arr_professional=obj_result.getJSONArray("professional");
for(int i=0;i<arr_professional.length();i++)
{
String professional_name=arr_professional.getString(i);
Log.d("TAG","professional_name:"+professional_name);
}
JSONArray arr_semester=obj_result.getJSONArray("semester");
for(int i=0;i<arr_semester.length();i++)
{
String semester_name=arr_semester.getString(i);
Log.d("TAG","semester_name:"+semester_name);
}
} catch (JSONException e) {
e.printStackTrace();
}