这段代码用json解析后,每一条线路都包含了正反两条线的站点信息,我的解析哪里错了?

{
"reason": "success",
"result": [
{
"terminal_name": "乐林路金高路",
"front_spell": "",
"line_id": "3100000056",
"key_name": "1006路",
"time_desc": "",
"front_name": "东力新村",
"stationdes": [
{
"code": "31",
"stationNum": "1",
"name": "东力新村",
"xy": "121.625083,31.286745"
},
{
"code": "31",
"stationNum": "2",
"name": "申江路巨峰路",
"xy": "121.625110,31.281242"
},
{
"code": "31",
"stationNum": "3",
"name": "巨峰路申江路",
"xy": "121.623519,31.279929"
},
{
"code": "31",
"stationNum": "4",
"name": "巨峰路金京路",
"xy": "121.616060,31.279941"
},
{
"code": "31",
"stationNum": "5",
"name": "巨峰路金高路",
"xy": "121.608726,31.280371"
},
{
"code": "31",
"stationNum": "6",
"name": "乐林路金高路",
"xy": "121.609186,31.279265"
}
],
"description": "",
"start_time": "0630",
"photo_folder": "",
"gpsfile_id": "",
"data_source": "",
"total_price": "0.000000",
"company": "金高公交",
"speed": "",
"length": "2.844000",
"loop": "0",
"auto": "",
"ic_card": "",
"double_deck": "",
"express_way": "",
"status": "1",
"basic_price": "0.000000",
"end_time": "1900",
"air": "",
"terminal_spell": "",
"type": "list",
"paper_table_id": "",
"name": "1006路(东力新村-乐林路金高路)",
"commutation_ticket": "0"
},
{
"terminal_name": "东力新村",
"front_spell": "",
"line_id": "3100000057",
"key_name": "1006路",
"time_desc": "",
"front_name": "乐林路金高路",
"stationdes": [
{
"code": "31",
"stationNum": "1",
"name": "乐林路金高路",
"xy": "121.609186,31.279265"
},
{
"code": "31",
"stationNum": "2",
"name": "巨峰路金高路",
"xy": "121.610286,31.280054"
},
{
"code": "31",
"stationNum": "3",
"name": "巨峰路金京路",
"xy": "121.616089,31.279699"
},
{
"code": "31",
"stationNum": "4",
"name": "巨峰路申江路",
"xy": "121.624142,31.279718"
},
{
"code": "31",
"stationNum": "5",
"name": "申江路巨峰路",
"xy": "121.625393,31.280429"
},
{
"code": "31",
"stationNum": "6",
"name": "东力新村",
"xy": "121.625083,31.286745"
}
],
"description": "",
"start_time": "0639",
"photo_folder": "",
"gpsfile_id": "",
"data_source": "",
"total_price": "0.000000",
"company": "金高公交",
"speed": "",
"length": "2.432000",
"loop": "0",
"auto": "",
"ic_card": "",
"double_deck": "",
"express_way": "",
"status": "1",
"basic_price": "0.000000",
"end_time": "1909",
"air": "",
"terminal_spell": "",
"type": "list",
"paper_table_id": "",
"name": "1006路(乐林路金高路-东力新村)",
"commutation_ticket": "0"
}
],
"error_code": 0
}
下面的是我的解析
package com.tarena.busapp.util;

import android.util.Log;

import com.tarena.busapp.entity.Result;
import com.tarena.busapp.entity.Stationdes;

import org.json.JSONArray;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class JSONParser {
private static Result result;
private static Stationdes st;
private static List stationdes;

public static List<Result> parseBusAry(JSONArray resultAry) throws Exception {
    List<Result> resultList = new ArrayList<>();
    stationdes = new ArrayList<>();
    for (int i = 0; i < resultAry.length(); i++) {
        JSONObject obj = resultAry.getJSONObject(i);
        String terminal_name = obj.getString("terminal_name");
        String line_id = obj.getString("line_id");
        String key_name = obj.getString("key_name");
        String front_name = obj.getString("front_name");
        String start_time = obj.getString("start_time");
        String company = obj.getString("company");
        String length = obj.getString("length");
        String end_time = obj.getString("end_time");
        String name = obj.getString("name");
        JSONArray stationAry = obj.getJSONArray("stationdes");
        String code = null;
        String stationNum = null;
        String stationname = null;
        String xy = null;
        for (int j = 0; j < stationAry.length(); j++) {
            JSONObject stationObj = stationAry.getJSONObject(j);
            code = stationObj.getString("code");
            stationNum = stationObj.getString("stationNum");
            stationname = stationObj.getString("name");
            xy = stationObj.getString("xy");
            st = new Stationdes(code, stationNum, stationname, xy);
            stationdes.add(st);
        }
        result = new Result(terminal_name, line_id, key_name, front_name, stationdes, start_time, company, length, end_time, name);
        resultList.add(result);
    }
    Log.d("zkj", "" + resultList);
    return resultList;
}

}

用jsonObject解析 百度一下 好多

这好像就是json吧

你发的这个不就是json格式的吗?

用JS写一个

 function parseJson(JsonObj){
    for(var k in JsonObj){
        if(typeof(JsonObj[k]) == 'object'){
            parseJson(JsonObj[k]);
        }else{
            console.log(k+"---"+JsonObj[k]);
        }       
    }
}
 /**
  * Copyright 2016 aTool.org 
  */
package org.atool.json2bean;
import java.util.List;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
/**
 * Auto-generated: 2016-12-12 16:30:10
 *
 * @author aTool.org (i@aTool.org)
 * @website http://www.atool.org/json2javabean.php
 */
public class JsonRootBean {

    private String reason;
    private List<Result> result;
    @JsonProperty("error_code")
    private int errorCode;
    public void setReason(String reason) {
         this.reason = reason;
     }
     public String getReason() {
         return reason;
     }

    public void setResult(List<Result> result) {
         this.result = result;
     }
     public List<Result> getResult() {
         return result;
     }

    public void setErrorCode(int errorCode) {
         this.errorCode = errorCode;
     }
     public int getErrorCode() {
         return errorCode;
     }

}
 /**
  * Copyright 2016 aTool.org 
  */
package org.atool.json2bean;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
/**
 * Auto-generated: 2016-12-12 16:30:10
 *
 * @author aTool.org (i@aTool.org)
 * @website http://www.atool.org/json2javabean.php
 */
public class Stationdes {

    private String code;
    @JsonProperty("stationNum")
    private String stationnum;
    private String name;
    private String xy;
    public void setCode(String code) {
         this.code = code;
     }
     public String getCode() {
         return code;
     }

    public void setStationnum(String stationnum) {
         this.stationnum = stationnum;
     }
     public String getStationnum() {
         return stationnum;
     }

    public void setName(String name) {
         this.name = name;
     }
     public String getName() {
         return name;
     }

    public void setXy(String xy) {
         this.xy = xy;
     }
     public String getXy() {
         return xy;
     }

}
 /**
  * Copyright 2016 aTool.org 
  */
package org.atool.json2bean;
import java.util.List;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
/**
 * Auto-generated: 2016-12-12 16:30:10
 *
 * @author aTool.org (i@aTool.org)
 * @website http://www.atool.org/json2javabean.php
 */
public class Result {

    @JsonProperty("terminal_name")
    private String terminalName;
    @JsonProperty("front_spell")
    private String frontSpell;
    @JsonProperty("line_id")
    private String lineId;
    @JsonProperty("key_name")
    private String keyName;
    @JsonProperty("time_desc")
    private String timeDesc;
    @JsonProperty("front_name")
    private String frontName;
    private List<Stationdes> stationdes;
    private String description;
    @JsonProperty("start_time")
    private String startTime;
    @JsonProperty("photo_folder")
    private String photoFolder;
    @JsonProperty("gpsfile_id")
    private String gpsfileId;
    @JsonProperty("data_source")
    private String dataSource;
    @JsonProperty("total_price")
    private String totalPrice;
    private String company;
    private String speed;
    private String length;
    private String loop;
    private String auto;
    @JsonProperty("ic_card")
    private String icCard;
    @JsonProperty("double_deck")
    private String doubleDeck;
    @JsonProperty("express_way")
    private String expressWay;
    private String status;
    @JsonProperty("basic_price")
    private String basicPrice;
    @JsonProperty("end_time")
    private String endTime;
    private String air;
    @JsonProperty("terminal_spell")
    private String terminalSpell;
    private String type;
    @JsonProperty("paper_table_id")
    private String paperTableId;
    private String name;
    @JsonProperty("commutation_ticket")
    private String commutationTicket;
    public void setTerminalName(String terminalName) {
         this.terminalName = terminalName;
     }
     public String getTerminalName() {
         return terminalName;
     }

    public void setFrontSpell(String frontSpell) {
         this.frontSpell = frontSpell;
     }
     public String getFrontSpell() {
         return frontSpell;
     }

    public void setLineId(String lineId) {
         this.lineId = lineId;
     }
     public String getLineId() {
         return lineId;
     }

    public void setKeyName(String keyName) {
         this.keyName = keyName;
     }
     public String getKeyName() {
         return keyName;
     }

    public void setTimeDesc(String timeDesc) {
         this.timeDesc = timeDesc;
     }
     public String getTimeDesc() {
         return timeDesc;
     }

    public void setFrontName(String frontName) {
         this.frontName = frontName;
     }
     public String getFrontName() {
         return frontName;
     }

    public void setStationdes(List<Stationdes> stationdes) {
         this.stationdes = stationdes;
     }
     public List<Stationdes> getStationdes() {
         return stationdes;
     }

    public void setDescription(String description) {
         this.description = description;
     }
     public String getDescription() {
         return description;
     }

    public void setStartTime(String startTime) {
         this.startTime = startTime;
     }
     public String getStartTime() {
         return startTime;
     }

    public void setPhotoFolder(String photoFolder) {
         this.photoFolder = photoFolder;
     }
     public String getPhotoFolder() {
         return photoFolder;
     }

    public void setGpsfileId(String gpsfileId) {
         this.gpsfileId = gpsfileId;
     }
     public String getGpsfileId() {
         return gpsfileId;
     }

    public void setDataSource(String dataSource) {
         this.dataSource = dataSource;
     }
     public String getDataSource() {
         return dataSource;
     }

    public void setTotalPrice(String totalPrice) {
         this.totalPrice = totalPrice;
     }
     public String getTotalPrice() {
         return totalPrice;
     }

    public void setCompany(String company) {
         this.company = company;
     }
     public String getCompany() {
         return company;
     }

    public void setSpeed(String speed) {
         this.speed = speed;
     }
     public String getSpeed() {
         return speed;
     }

    public void setLength(String length) {
         this.length = length;
     }
     public String getLength() {
         return length;
     }

    public void setLoop(String loop) {
         this.loop = loop;
     }
     public String getLoop() {
         return loop;
     }

    public void setAuto(String auto) {
         this.auto = auto;
     }
     public String getAuto() {
         return auto;
     }

    public void setIcCard(String icCard) {
         this.icCard = icCard;
     }
     public String getIcCard() {
         return icCard;
     }

    public void setDoubleDeck(String doubleDeck) {
         this.doubleDeck = doubleDeck;
     }
     public String getDoubleDeck() {
         return doubleDeck;
     }

    public void setExpressWay(String expressWay) {
         this.expressWay = expressWay;
     }
     public String getExpressWay() {
         return expressWay;
     }

    public void setStatus(String status) {
         this.status = status;
     }
     public String getStatus() {
         return status;
     }

    public void setBasicPrice(String basicPrice) {
         this.basicPrice = basicPrice;
     }
     public String getBasicPrice() {
         return basicPrice;
     }

    public void setEndTime(String endTime) {
         this.endTime = endTime;
     }
     public String getEndTime() {
         return endTime;
     }

    public void setAir(String air) {
         this.air = air;
     }
     public String getAir() {
         return air;
     }

    public void setTerminalSpell(String terminalSpell) {
         this.terminalSpell = terminalSpell;
     }
     public String getTerminalSpell() {
         return terminalSpell;
     }

    public void setType(String type) {
         this.type = type;
     }
     public String getType() {
         return type;
     }

    public void setPaperTableId(String paperTableId) {
         this.paperTableId = paperTableId;
     }
     public String getPaperTableId() {
         return paperTableId;
     }

    public void setName(String name) {
         this.name = name;
     }
     public String getName() {
         return name;
     }

    public void setCommutationTicket(String commutationTicket) {
         this.commutationTicket = commutationTicket;
     }
     public String getCommutationTicket() {
         return commutationTicket;
     }

}

这种工具多的是 百度一搜一大把

这个网站:http://www.bejson.com/,很好用

你想要渔还是想要鱼?

额,搞不懂