我无法理解为什么 dataTables 拒绝显示单行数据,但它对于任何大于 1 行的数据集都可以正常工作。我不认为这也说明了问题,因为我认为这是错误的 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 中不显示为一个数组。