Skip to content

Commit b4c517b

Browse files
committed
[FAB-1931] QSCC GetQueryResult not valid
JSON produced by GetQueryResult() is not valid if there are multiple records returned. Need to add a comma before each JSON member (except for the first). Change-Id: I1d7586f888674a2251fa5578b1bc00faa3a73dbc Signed-off-by: denyeart <[email protected]>
1 parent 36bbeb6 commit b4c517b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

core/scc/qscc/querier.go

+6
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,16 @@ func getQueryResult(vledger ledger.PeerLedger, query []byte) (res pb.Response) {
150150
buffer.WriteString("[")
151151

152152
var qresult ledger.QueryResult
153+
bArrayMemberAlreadyWritten := false
153154
qresult, err = ri.Next()
154155
for r := 0; qresult != nil && err == nil && r < limit; r++ {
155156
if qr, ok := qresult.(*ledger.QueryRecord); ok {
157+
// Add a comma before array members, suppress it for the first array member
158+
if bArrayMemberAlreadyWritten == true {
159+
buffer.WriteString(",")
160+
}
156161
collectRecord(&buffer, qr)
162+
bArrayMemberAlreadyWritten = true
157163
}
158164
qresult, err = ri.Next()
159165
}

0 commit comments

Comments
 (0)