Проблема с данными JSON - PullRequest
       14

Проблема с данными JSON

2 голосов
/ 27 апреля 2011

Я реализую приложение RESTful Jersey.

Если у меня есть машина боб:

@XmlRootElement
class Car{
  private String id;
  private String name;

  //... GETTER & SETTER 
}

My CarResource.java:

    @GET
    @Produces({MediaType.APPLICATION_JSON})
    public List<Car> getCar(@QueryParam("id") String id) {


        List cars= new ArrayList<Car>();

        cars.add(new Car(id, "my car 1"));

        return cars;
    }

Если в списке cars есть только один элемент , я получу данные JSON

{"car":{"id":"12","name":"my car 1"}}

Но мне нужно (с " [] "):

{"car":[{"id":"12","name":"my car 1"}]}

Как это сделать?

P.S. если в списке cars имеется более одного элемента , данные JSON имеют " [] ".

Ответы [ 2 ]

1 голос
/ 27 апреля 2011

Вам придется обрабатывать эту сторону JavaScript.

Предполагая, что вы проанализировали свои данные в объект JavaScript, попробуйте что-то вроде следующего, чтобы получить элементы:

function GetCar(pObj, nPos){
    if (typeof pObj.car[0] === "object"){
        return pObj.car[nPos];
    } else {
        return pObj.car;
    }
}

//test code
var obj = {"car":{"id":"12","name":"my car 1"}};
var obj2 = {"car":[{"id":"12","name":"my car 1"}]};

alert(GetCar(obj, 0).id);
alert(GetCar(obj2, 0).id);

Вы можете увидеть это в действии на этом JSFiddle

0 голосов
/ 27 апреля 2011

Я использую следующий скрипт в javascript для анализа данных json (даже если в нем есть одна или несколько записей)скрипт для разбора, тогда вы можете справиться с этой ситуацией

...