在最小 API 中将字符串更改为 JSON

问题描述 投票:0回答:1

我想将 Flutter 与 ASP.NET API 集成。问题是,当我创建最小的 API 时,我将 swagger 中生成的链接发布到 Postman,结果结果是字符串而不是 JSON;怎么解决这个问题?

app.MapPost("/Service", (Service person) =>
{
    using var conn = new SqlConnection(connectionString);
    conn.Open();

    var command = new SqlCommand(
    $"INSERT INTO Service ( servicename, description, category,initialprice,IntermediatePrice,AdvancedPrice) VALUES ('{person.ServiceName}','{person.Description}','{person.Category}','{person.InitialPrice}','{person.IntermediatePrice}','{person.AdvancedPrice}')",
    conn);

    using SqlDataReader reader = command.ExecuteReader();
})
.WithName("CreateService");
app.MapGet("/Result", () =>
{
    var rows = new List<string>();
    using var conn = new SqlConnection(connectionString);
    conn.Open();
    var command = new SqlCommand("SELECT TOP 100 A.DR_PI_000_01 AS drainage_id,MAX(A.DR_PI_000_03) AS latest_time \r\nFROM DR_PI_000 A\r\n\r\nGROUP BY A.DR_PI_000_01", conn); 
        command.CommandTimeout = 1000;
    using SqlDataReader reader = command.ExecuteReader();
    if (reader.HasRows)
    {
        while (reader.Read())
        {
            rows.Add($"Drainage_ID: {(reader.IsDBNull(0) ? null : reader?.GetString(0))},date : {(reader.IsDBNull(1) ? null : reader?.GetDateTime(1))},");


        }
    }

    return rows;
})
.WithName("GetResult");

此片段来自我的program.cs。我不想使用 dbcontext 因为 SQL Server 中的表有太多列,我只想使用很少的列。

.net sql-server flutter dart asp.net-web-api
1个回答
0
投票

要在 Flutter 的最小 API 中将字符串转换为 JSON,可以使用 dart:convert 库提供的 jsonDecode 函数。以下是如何做到这一点的示例:

import 'dart:convert';

// Assuming you have a string containing JSON data
String jsonString = '{"name": "John", "age": 30}';

void main() {
  // Convert the string to JSON
  var json = jsonDecode(jsonString);

  // Access the JSON values
  String name = json['name'];
  int age = json['age'];

  // Print the values
  print('Name: $name');
  print('Age: $age');
}
© www.soinside.com 2019 - 2024. All rights reserved.