2013-04-08 39 views
0

我无法理解dataTables拒绝显示单行数据的原因,但对于任何大于1行的数据集,它都能正常工作。我不认为这也显示了问题,因为我认为这是错误的JSON消息的格式在这里或根据我的视图过滤器不工作,所以.....直接它将然后条件并返回值从DBTABLE如何在json中显示数组,当我的表包含单个记录时

这是一个10记录JSON应答,其工作原理确定:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="Getmessage_seq" onError="fault" trace="disable"> 
    <property name="CONTENT_TYPE" value="application/json" scope="axis2" type="STRING"/> 
    <filter xmlns:ns="http://org.apache.synapse/xsd" xmlns:s="http://ws.wso2.org/dataservice" xpath="s://logid/text()=' '"> 
     <then> 
     <payloadFactory> 
      <format> 
       <ResponseJSON xmlns=""> 
        <Exception>NO Data Found In Database</Exception> 
        <Status>404</Status> 
       </ResponseJSON> 
      </format> 
     </payloadFactory> 
     <send/> 
     </then> 
     <else> 
     <property name="AAR" expression="count(//s:Datalist)" scope="default" type="STRING"/> 
     <enrich> 
      <source clone="true" type="custom" xpath="//s:Datalist"/> 
      <target action="replace" type="property" property="List"/> 
     </enrich> 
     <property name="CONTENT_TYPE" value="application/json" scope="axis2"/> 
     <payloadFactory> 
      <format> 
       <ResponseJSON xmlns=""> 
        <Body>$1</Body> 
        <Status>200</Status> 
        <Total>$2</Total> 
       </ResponseJSON> 
      </format> 
      <args> 
       <arg expression="get-property('List')"/> 
       <arg expression="get-property('AAR')"/> 
      </args> 
     </payloadFactory> 
     <send/> 
     </else> 
    </filter> 
</sequence> 

enter code here

最后,当我的表包含多个记录数据被示出为在JSON阵列,当它转向一个记录数据不会在json中显示为数组。

+0

我没有收到任何答案,无论是在wso2 esb中的错误 – user1983299 2013-04-09 06:44:48

回答

0

你可以将你的单个元素包装在一个数组中,以便两个响应具有相同的结构。 $ myVar = array('recordSet'=> $ this-> myRecord [0]);

+0

我无法弄清楚这一点,我应该把这个东西放在哪里...... – user1983299 2013-04-10 05:49:55

相关问题