样例:
{
"canalSortList": [
"搜索/LBS广告",
"市场线下",
"度假线下",
"火车票线下",
"门票线下",
"其他线上活动",
"测试",
"服务号",
"公众号合作",
"酒店切客",
"APP分享",
"模板消息",
"微导游渠道",
"微信卡券",
"文中文末广告",
"自然流量",
"小程序商店",
"汽车票线下"
],
"canalEffectiveDate": "111"
}
备注:Qconfig中把上面字段当成String处理
//转行成JSONObjectObject
1)JSONObject wechatSmallAdminConfigJson = JSON.parseObject(jsonStr);
//String.class 上面样例是String类型,如果是int就写int .class
2) private List<String> WECHAT_BDORIGIN_CANAL_SORT_LIST = canalArray.toJavaList(String.class);
http://www.w3school.com.cn/json/index.asp
http://blog.csdn.net/assholeu/article/details/43037373
http://blog.csdn.net/fanhu6816/article/details/52870230 (重要)
https://www.cnblogs.com/joahyau/p/6736637.html
JSON书写格式
JSON是什么
JSON ( JavaScript Object Notation) ,是一种数据交互格式。
为什么有这个技术
Json之前,大家都用 XML 传递数据。XML 是一种纯文本格式,所以适合在网络上交换数据,但是 XML 格式比较复杂,终于道格拉斯·克罗克福特(Douglas Crockford)发明了JSON 这种超轻量级的数据交换格式。
注意事项
JSON 规定字符集是UTF-8,字符串必须使用"",Object 的键也必须使用""
数组或对象的最后一个成员,不能加 逗号
JSON {"password":"123456","username":"张三"}
=======
{"name":"胡小威" , "age":20 , "male":true}
public void parseJsonObject(String json) {
try {
JSONObject jsonObject = new JSONObject(json);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean male = jsonObject.getBoolean("male");
//接下来该干嘛干嘛
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
======
[
{"name":"胡小威", "age"=20, "male":true, "address":{"street":"岳麓山南", "city":"长沙","country":"中国"}},
{"name":"赵小亮", "age"=22, "male":false, "address":{"street":"九州港", "city":"珠海","country":"中国"}}
]
public void parseJsonArrayPerson(String json) {
List<Person> persons = new<Person>();
try {
jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
jsonObject = jsonArray.getJSONObject(i);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean male = jsonObject.getBoolean("male");
JSONObject addressJSON = jsonObject.getJSONObject("address");
String street = addressJSON.getString("street");
String city = addressJSON.getString("city");
String country = addressJSON.getString("country");
Address address = new Address(street, city, country);
Person person = new Person(name, age, male, address);
persons.add(person);
Log.v("juno", person.toString());
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.v("juno", persons.toString());
===
5. {"buses":{"bus":[{"last_foot_dist":"0","time":"37","segments":{"segment":[{"line_name":"立珊专线(中南大学学生公寓-长沙火车站)","foot_dist":"362","stat_xys":"","stats":"岳麓山南;湖南师大;二里半;岳麓山北;市四医院;华图教育(太平街口);牛耳教育(南阳街口);韭菜园;曙光路口;长岛路口;长沙火车站","end_stat":"长沙火车站","line_xys":"","line_dist":"7535","start_stat":"岳麓山南"}]},"foot_dist":"362","dist":"7897"},{"last_foot_dist":"0","time":"41","segments":{"segment":[{"line_name":"旅1路(科教新村-长沙火车站)","foot_dist":"337","stat_xys":"","stats":"岳麓山南;湖南师大;二里半;岳麓山北;市四医院;华图教育(太平街口);蔡锷中路口;韭菜园;乔庄;曙光路口;长岛路口;五一东村;车站路口;长沙火车站","end_stat":"长沙火车站","line_xys":"","line_dist":"7822","start_stat":"岳麓山南"}]},"foot_dist":"337","dist":"8159"}]}}
public List<Salution> parseJSON(String str){
Log.d("返回的JSON数据:", str);
List<Salution> busList = new ArrayList<Salution>();
try {
JSONObject jsonObject = new JSONObject(str);
JSONObject busesJSON = jsonObject.getJSONObject("buses");
JSONArray busJSArray=busesJSON.getJSONArray("bus");
for(int i=0;i<busJSArray.length();i++){
JSONObject busJSObject = busJSArray.getJSONObject(i);
JSONObject segsJSObject=busJSObject.getJSONObject("segments");
JSONArray segJSArray=segsJSObject.getJSONArray("segment");
Salution st=new Salution();
for(int j=0;j<segJSArray.length();j++){
if(j==0){
JSONObject segJSObject = segJSArray.getJSONObject(j);
st.setLine_name1(segJSObject.getString("line_name"));
Log.d("line_name", segJSObject.getString("line_name"));
st.setStats1(segJSObject.getString("stats"));
st.setEnd_stat1(segJSObject.getString("end_stat"));
st.setStart_stat1(segJSObject.getString("start_stat"));
}
if(j==1){
JSONObject segJSObject = segJSArray.getJSONObject(j);
st.setLine_name2(segJSObject.getString("line_name"));
Log.d("line_name", segJSObject.getString("line_name"));
st.setStats2(segJSObject.getString("stats"));
st.setEnd_stat2(segJSObject.getString("end_stat"));
st.setStart_stat2(segJSObject.getString("start_stat"));
}
}
busList.add(st);
}
return busList;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
{
"canalSortList": [
"搜索/LBS广告",
"市场线下",
"度假线下",
"火车票线下",
"门票线下",
"其他线上活动",
"测试",
"服务号",
"公众号合作",
"酒店切客",
"APP分享",
"模板消息",
"微导游渠道",
"微信卡券",
"文中文末广告",
"自然流量",
"小程序商店",
"汽车票线下"
],
"canalEffectiveDate": "111"
}
备注:Qconfig中把上面字段当成String处理
//转行成JSONObjectObject
1)JSONObject wechatSmallAdminConfigJson = JSON.parseObject(jsonStr);
//String.class 上面样例是String类型,如果是int就写int .class
2) private List<String> WECHAT_BDORIGIN_CANAL_SORT_LIST = canalArray.toJavaList(String.class);
http://www.w3school.com.cn/json/index.asp
http://blog.csdn.net/assholeu/article/details/43037373
http://blog.csdn.net/fanhu6816/article/details/52870230 (重要)
https://www.cnblogs.com/joahyau/p/6736637.html
JSON书写格式
JSON是什么
JSON ( JavaScript Object Notation) ,是一种数据交互格式。
为什么有这个技术
Json之前,大家都用 XML 传递数据。XML 是一种纯文本格式,所以适合在网络上交换数据,但是 XML 格式比较复杂,终于道格拉斯·克罗克福特(Douglas Crockford)发明了JSON 这种超轻量级的数据交换格式。
注意事项
JSON 规定字符集是UTF-8,字符串必须使用"",Object 的键也必须使用""
数组或对象的最后一个成员,不能加 逗号
JSON {"password":"123456","username":"张三"}
=======
{"name":"胡小威" , "age":20 , "male":true}
public void parseJsonObject(String json) {
try {
JSONObject jsonObject = new JSONObject(json);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean male = jsonObject.getBoolean("male");
//接下来该干嘛干嘛
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
======
[
{"name":"胡小威", "age"=20, "male":true, "address":{"street":"岳麓山南", "city":"长沙","country":"中国"}},
{"name":"赵小亮", "age"=22, "male":false, "address":{"street":"九州港", "city":"珠海","country":"中国"}}
]
public void parseJsonArrayPerson(String json) {
List<Person> persons = new<Person>();
try {
jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
jsonObject = jsonArray.getJSONObject(i);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean male = jsonObject.getBoolean("male");
JSONObject addressJSON = jsonObject.getJSONObject("address");
String street = addressJSON.getString("street");
String city = addressJSON.getString("city");
String country = addressJSON.getString("country");
Address address = new Address(street, city, country);
Person person = new Person(name, age, male, address);
persons.add(person);
Log.v("juno", person.toString());
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.v("juno", persons.toString());
===
5. {"buses":{"bus":[{"last_foot_dist":"0","time":"37","segments":{"segment":[{"line_name":"立珊专线(中南大学学生公寓-长沙火车站)","foot_dist":"362","stat_xys":"","stats":"岳麓山南;湖南师大;二里半;岳麓山北;市四医院;华图教育(太平街口);牛耳教育(南阳街口);韭菜园;曙光路口;长岛路口;长沙火车站","end_stat":"长沙火车站","line_xys":"","line_dist":"7535","start_stat":"岳麓山南"}]},"foot_dist":"362","dist":"7897"},{"last_foot_dist":"0","time":"41","segments":{"segment":[{"line_name":"旅1路(科教新村-长沙火车站)","foot_dist":"337","stat_xys":"","stats":"岳麓山南;湖南师大;二里半;岳麓山北;市四医院;华图教育(太平街口);蔡锷中路口;韭菜园;乔庄;曙光路口;长岛路口;五一东村;车站路口;长沙火车站","end_stat":"长沙火车站","line_xys":"","line_dist":"7822","start_stat":"岳麓山南"}]},"foot_dist":"337","dist":"8159"}]}}
public List<Salution> parseJSON(String str){
Log.d("返回的JSON数据:", str);
List<Salution> busList = new ArrayList<Salution>();
try {
JSONObject jsonObject = new JSONObject(str);
JSONObject busesJSON = jsonObject.getJSONObject("buses");
JSONArray busJSArray=busesJSON.getJSONArray("bus");
for(int i=0;i<busJSArray.length();i++){
JSONObject busJSObject = busJSArray.getJSONObject(i);
JSONObject segsJSObject=busJSObject.getJSONObject("segments");
JSONArray segJSArray=segsJSObject.getJSONArray("segment");
Salution st=new Salution();
for(int j=0;j<segJSArray.length();j++){
if(j==0){
JSONObject segJSObject = segJSArray.getJSONObject(j);
st.setLine_name1(segJSObject.getString("line_name"));
Log.d("line_name", segJSObject.getString("line_name"));
st.setStats1(segJSObject.getString("stats"));
st.setEnd_stat1(segJSObject.getString("end_stat"));
st.setStart_stat1(segJSObject.getString("start_stat"));
}
if(j==1){
JSONObject segJSObject = segJSArray.getJSONObject(j);
st.setLine_name2(segJSObject.getString("line_name"));
Log.d("line_name", segJSObject.getString("line_name"));
st.setStats2(segJSObject.getString("stats"));
st.setEnd_stat2(segJSObject.getString("end_stat"));
st.setStart_stat2(segJSObject.getString("start_stat"));
}
}
busList.add(st);
}
return busList;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}