Closed alissonrodrigo closed 2 years ago
Quem disse que o JSON não é válido? É valido sim... é um array de strings... Agora o "problema" que você apresentou, refere-se ao DataSet.Serialize, não é do Horse. E também não é um problema... O DataSet.Serialize, quando o dataset tem um único campo, ele exporta da forma que viu por padrão. Caso queria que aparece o nome do campo, tem que alterar um parâmetro na hora de dar o .ToJSONArray( aqui )
Ha sim. Obrigado, vou olhar a documentação
Tenho uma consulta simples no banco de dados para me retornar uma contagem, porem o json retornado não e valifo
//DataModule function TdmDashBoard.DashBoard_SSPendentes(const aListaClientes: string): TFDQuery; var sSQL: TStringbuilder; begin
sSQL := TStringbuilder.Create; Result := TFDQuery.Create(nil); try sSQL.Clear; sSQL.Append('SELECT ').AppendLine; sSQL.Append(' COUNT(*) as ss_pendente ').AppendLine; sSQL.Append('FROM ss ').AppendLine; sSQL.Append(' WHERE ').AppendLine; sSQL.Append(' (ss.status = :Status) ').AppendLine; sSQL.Append(' AND (ss.cliente IN (' + aListaClientes + ')) ').AppendLine; Result.Active := False; Result.Connection := dmConexao.conDados; Result.SQL.Clear; Result.SQL.Add(sSQL.ToString); Result.ParamByName('Status').AsString := 'Pendente'; Result.Open();
finally sSQL.DisposeOf; end;
end;
//Controler procedure postDashBoard_SSPendentes(Req: THorseRequest; Res: THorseResponse; Next: TProc); var SS: TdmDashBoard; Qry: TFDQuery; jPacote: TJSONObject; jValores: TJSONValue; sListaClientes: string; begin
SS := TdmDashBoard.Create(nil); jPacote := TJSONObject.Create; jValores := jPacote.ParseJSONValue(Req.Body); try jValores.TryGetValue('cliente', sListaClientes);
Qry := SS.DashBoard_SSPendentes(sListaClientes);
Res.Send(Qry.ToJSONArray());
finally
Qry.DisposeOf;
SS.DisposeOf;
jValores.DisposeOf;
jPacote.DisposeOf;
end;
end;