JSON数据问题

发布于 2024-11-03 21:01:47 字数 836 浏览 0 评论 0原文

我正在实施 RESTful Jersey 应用程序。

如果我有一个car bean:

@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"}]}

怎么办?

PS如果cars列表中有多个元素,则JSON数据确实有“[]”。

I am implementing RESTful Jersey application.

If I have a car bean:

@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;
    }

If there is only one element in the cars list, the JSON data I got is

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

But what I need is (with "[ ]"):

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

How to do?

P.S. if there are more than one element in the cars list, the JSON data do have "[ ]".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

桃扇骨 2024-11-10 21:01:47

你必须处理这个 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

You'll have to handle this JavaScript-side.

Assuming you've parsed your data into a JavaScript object, try something like the following to get the items:

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);

You can see it in action at this JSFiddle

好听的两个字的网名 2024-11-10 21:01:47

我在javascript中使用以下脚本来解析json数据(即使它有一条或多条记录)

https:// /github.com/douglascrockford/JSON-js

如果您可以转换该脚本中使用的核心代码进行解析,那么您可以处理这种情况

I use the following script in javascript to parse the json data (even if it has one or more records)

https://github.com/douglascrockford/JSON-js

If you can convert the core code used in that script to parse then u can handle that situation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文