正确JSON响应

正确JSON响应

问题描述:

林很难找到最佳的解决方案来解决这个问题:正确JSON响应

我有2个表,

TABLE order contains 
    pickup_address, 
    delivery_address 

两个字段都是外键至极参考

TABLE address contains, 
    id, 
    city 

当然还有其他列,但它们与查询无关。 Basicly我做的是:

SELECT * from order LEFT join address ON (pickup = id) LEFT join address ON (delivery = id) 

类似的东西:)所以我有一个排,结合2个地址转换成订单。这不是一个干净的解决方案,我认为。

即时消息试图做的是让用户查询我的API这个订单,我不知道我应该如何返回所有的数据。

  • 我是否仅返回订单TABLE的行,并让他们再次询问我的API每个address_id的详细信息?
  • 我是否将所有表格合并返回一个完整的行?
  • 我是否在JSON中分隔订单和地址?像这样:

    { 
    orders: [ 
    { 
        id: "1", 
        pickUpAddress: "1", 
        deliveryAddress: "2", 
    } 
        addresses: [ 
    { 
        id: "1", 
        .... 
    }, 
    { 
        id: "2", 
    } 
    ] 
    } 
    
    • 任何其他的选择吗?

Basicly我成为当前JSON响应,但是IM回复,每次约20+订单。这是否有效?

{ 
code: 200, 
data: { 
orders: [ 
{ 
id: "1", 
customer_id: "cust1", 
reference: "asdfad", 
state: "4", 
pickUpAddress: "1", 
pickUpDate: "2012-02-21", 
deliveryAddress: "2", 
deliveryDate: "2012-02-23", 
pickup_street: "street 1", 
pickup_housenumber: "1", 
pickup_country: "belgium", 
pickup_zipcode: "1000", 
pickup_city: "brussels", 
delivery_street: "street 2", 
delivery_housenumber: "2", 
delivery_country: "belgium", 
delivery_zipcode: "1000", 
delivery_city: "brussels" 
} 
] 
} 
} 

我会返回所有的数据,除非有理由不这样做(例如大量)。 你为什么不呢?

但是,我会允许他们通过ID获取地址。给他们尽可能多的选择,你可以。

+0

编辑我的组织职位。这会有效吗? – Sam 2012-02-06 16:24:35

+0

我想这取决于它是否有效。用户是否总是需要所有这些细节?如果是这样,不妨给他们提供。如果她只需要一次查看一个订单的地址,则让她拨打两个不同的电话。 – 2012-02-06 16:37:14

+0

以及我不知道我想要什么。如果我一次拿到它们,用户只需要等待一次。如果我得到他们,当用户选择订单ID我必须重新同步,他必须等待每一次。 – Sam 2012-02-06 19:30:50