Android Json解析服务器文件
如何从服务器总读出文件然后再解析文件内容,楼主新手在做项目时急需,高分求样例代码。Json文件格式如下:[{"Stations":[{"StartingStation":...
如何从服务器总读出文件然后再解析文件内容,楼主新手在做项目时急需,高分求样例代码。Json文件格式如下:[{"Stations" : [{"StartingStation" : "中国科技大学","Lat" : 31.8308990633944}],"LineNum" : 24}].
我的意思是先要读取tomcat服务器中指定文件里的内容,将这些内容转换为字符串再解析,请问如何获取服务器文件的内容并把它读出来赋值给字符串啊? 展开
我的意思是先要读取tomcat服务器中指定文件里的内容,将这些内容转换为字符串再解析,请问如何获取服务器文件的内容并把它读出来赋值给字符串啊? 展开
展开全部
给你我的一个代码片段,自己去理解吧
解析代码:
/**
* 解析json数据
*
* @param context
* 源数据
*
*/
private void parseJson(String json)
{
try
{
JSONArray json_1 = new JSONArray(json);
List<Course> list = new ArrayList<Course>();
for (int i = 0; i < json_1.length(); i++)
{
JSONObject json_2 = json_1.getJSONObject(i);
System.out.println("第一层第" + (i + 1) + "条数据="
+ json_2.getString("Name") + "ID:"
+ json_2.getInt("ID") + "父级ID:"
+ json_2.getInt("ParentID"));
parese(json_2);//TODO
JSONArray json_3 = json_2.getJSONArray("Children");
if (json_3.length() != 0)
{
for (int j2 = 0; j2 < json_3.length(); j2++)
{
JSONObject json_4 = json_3.getJSONObject(j2);
System.out.println("第二层第" + (i + 1) + "条数据="
+ json_4.getString("Name") + "ID:"
+ json_4.getInt("ID") + "父级ID:"
+ json_4.getInt("ParentID"));
JSONArray json_5 = json_4.getJSONArray("Children");
if (json_5.length() != 0)
{
for (int k = 0; k < json_5.length(); k++)
{
JSONObject json_6 = json_5.getJSONObject(k);
System.out.println("第三层第" + k + "条数据"
+ json_6.getString("Name") + "ID:"
+ json_6.getInt("ID") + "父级ID:"
+ json_6.getInt("ParentID"));
}
}
}
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
数据源:
public class Cosnt
{
public static final String SOURCE = "[{Name:语言知识与语言运用,ID:7332,Children:[{Name:字音,ID:7333,Children:[{Name:字音,ID:7334,Children:[],ParentID:7333}],ParentID:7332},{Name:字形,ID:7339,Children:[],ParentID:7332},{Name:词语,ID:7345,Children:[],ParentID:7332},{Name:句子,ID:7375,Children:[],ParentID:7332},{Name:标点符号,ID:7381,Children:[],ParentID:7332},{Name:修辞,ID:7387,Children:[],ParentID:7332},{Name:语言运用与语言表达,ID:7390,Children:[],ParentID:7332}],ParentID:0},"
+ "{Name:文化、文学常识和名篇名句,ID:7405,Children:[{Name:作家作品,ID:7406,Children:[],ParentID:7405},{Name:古代文化常识,ID:7428,Children:[],ParentID:7405},{Name:名篇名句,ID:7431,Children:[],ParentID:7405}],ParentID:0},"
+ "{Name:文言文,ID :7434,Children:[{Name:文言实词,ID:7435,Children:[],ParentID:7434},{Name:文言虚词,ID:7439,Children:[],ParentID:7434},{Name:文言句式,ID:7442,Children:[],ParentID:7434},{Name:文言文阅读,ID:7445,Children:[],ParentID:7434}],ParentID:0}]";
}
解析代码:
/**
* 解析json数据
*
* @param context
* 源数据
*
*/
private void parseJson(String json)
{
try
{
JSONArray json_1 = new JSONArray(json);
List<Course> list = new ArrayList<Course>();
for (int i = 0; i < json_1.length(); i++)
{
JSONObject json_2 = json_1.getJSONObject(i);
System.out.println("第一层第" + (i + 1) + "条数据="
+ json_2.getString("Name") + "ID:"
+ json_2.getInt("ID") + "父级ID:"
+ json_2.getInt("ParentID"));
parese(json_2);//TODO
JSONArray json_3 = json_2.getJSONArray("Children");
if (json_3.length() != 0)
{
for (int j2 = 0; j2 < json_3.length(); j2++)
{
JSONObject json_4 = json_3.getJSONObject(j2);
System.out.println("第二层第" + (i + 1) + "条数据="
+ json_4.getString("Name") + "ID:"
+ json_4.getInt("ID") + "父级ID:"
+ json_4.getInt("ParentID"));
JSONArray json_5 = json_4.getJSONArray("Children");
if (json_5.length() != 0)
{
for (int k = 0; k < json_5.length(); k++)
{
JSONObject json_6 = json_5.getJSONObject(k);
System.out.println("第三层第" + k + "条数据"
+ json_6.getString("Name") + "ID:"
+ json_6.getInt("ID") + "父级ID:"
+ json_6.getInt("ParentID"));
}
}
}
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
数据源:
public class Cosnt
{
public static final String SOURCE = "[{Name:语言知识与语言运用,ID:7332,Children:[{Name:字音,ID:7333,Children:[{Name:字音,ID:7334,Children:[],ParentID:7333}],ParentID:7332},{Name:字形,ID:7339,Children:[],ParentID:7332},{Name:词语,ID:7345,Children:[],ParentID:7332},{Name:句子,ID:7375,Children:[],ParentID:7332},{Name:标点符号,ID:7381,Children:[],ParentID:7332},{Name:修辞,ID:7387,Children:[],ParentID:7332},{Name:语言运用与语言表达,ID:7390,Children:[],ParentID:7332}],ParentID:0},"
+ "{Name:文化、文学常识和名篇名句,ID:7405,Children:[{Name:作家作品,ID:7406,Children:[],ParentID:7405},{Name:古代文化常识,ID:7428,Children:[],ParentID:7405},{Name:名篇名句,ID:7431,Children:[],ParentID:7405}],ParentID:0},"
+ "{Name:文言文,ID :7434,Children:[{Name:文言实词,ID:7435,Children:[],ParentID:7434},{Name:文言虚词,ID:7439,Children:[],ParentID:7434},{Name:文言句式,ID:7442,Children:[],ParentID:7434},{Name:文言文阅读,ID:7445,Children:[],ParentID:7434}],ParentID:0}]";
}
追问
你好,我的意思是先要读取tomcat服务器中指定文件里的内容,将这些内容转换为字符串再解析,请问如何获取服务器文件的内容并把它读出来啊?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
展开全部
JSONObject aJosnObj;
aJosnObj = new JSONObject(stateJson);
JSONArray arrSpecialtys = aJosnObj.getJSONArray("Stations");
for (int i = 0; i < arrSpecialtys.length(); i++) {
JSONObject aJos = (JSONObject) arrSpecialtys.get(i);
String startingStation = aJos.getString("StartingStation");
String lat = aJos.getString("Lat");
}
String lineNum = aJos.getString("LineNum");
这样就可以把"中国科技大学"、31.8308990633944和24分别存放在startingStation、lat和lineNum中
aJosnObj = new JSONObject(stateJson);
JSONArray arrSpecialtys = aJosnObj.getJSONArray("Stations");
for (int i = 0; i < arrSpecialtys.length(); i++) {
JSONObject aJos = (JSONObject) arrSpecialtys.get(i);
String startingStation = aJos.getString("StartingStation");
String lat = aJos.getString("Lat");
}
String lineNum = aJos.getString("LineNum");
这样就可以把"中国科技大学"、31.8308990633944和24分别存放在startingStation、lat和lineNum中
更多追问追答
追问
你好,我的意思是先要读取tomcat服务器中指定文件里的内容,将这些内容转换为字符串再解析,请问如何获取服务器文件的内容并把它读出来啊?
追答
那需要访问网址啊,实现接口,对服务器段也要写相应的程序
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
你好,我的意思是先要读取tomcat服务器中指定文件里的内容,将这些内容转换为字符串再解析,请问如何获取服务器文件的内容并把它读出来啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询