从AJAX接收HTTP POST,并在后端java中读取它

时间:2014-10-20 09:31:43

标签: java javascript json http

我正在制作一个票务系统。前端是javacript / angular,使用ajax发送HTTP请求。 我们现在如何做到这一点是将参数放在标题中,如下所示:

  numbPass: 3
  Total Price: 39

这是保存在一个订单,但3名乘客。每位乘客的价格可能不同,常规,学生,军人。因此,将总金额拆分为3不是一种选择。

这些变量今天在后端收到如下:

 Gson gson = new Gson();
 WalkIn walkinRequest = gson.fromJson(req.getReader(), WalkIn.class);

我想要的是发送乘客名单,我发现这可能是这样的:

var schedule = [];
    var passenger = { 
      type : 'student', 
      price' : 150,
    }
    schedule.push(passenger);

    var passenger = { 
      type : 'student', 
      'price' : 150,
    }
    schedule.push(passenger);

但是如何使用java在后端处理这些数据(将它们放在乘客对象中)?

编辑:可能很难理解我的要求。首先,我想知道gson是否处理来自HTTP请求的数组处理。如果没有,那么我想知道如何解决这个问题。 这个问题在下面的帖子中回答。

1 个答案:

答案 0 :(得分:1)

我会根据你的问题猜测你的意思。

  1. 如果是简单的反序列化问题,那么在Gson中你可以读取这样的对象数组:

    WalkIn[] walkinRequests = gson.fromJson(req.getReader(), WalkIn[].class);
    
  2. 如果您想改变您的WalkIn结构:

    WalkIn
        int numbPass
        int totalPrice
    

    WalkIn
        PassengerWalkIn[]
        int numbPass
        int totalPrice
    
    PassengerWalkIn
        String type
        int price
    

    比GSON能够按原样反序列化。