You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter数据库查询结果如何去除列名仅显示字段值?

Flutter数据库查询结果提取指定字段值

问题描述

在Flutter中使用SqlConn从数据库获取数据时,执行查询后返回的结果是JSON格式字符串(如[{"CUST_NAME":"MY NAME"}]),直接用Text(res)显示会包含列名和JSON结构,需要仅显示字段对应的值(如MY NAME)。

当前实现代码:

var res = "";
Future<void> cetak(String query) async {
  var req = await SqlConn.readData(query);
  setState(() {
    res = req;
  });
}

调用代码:

cetak("SELECT CUST_NAME FROM ts_custxm WHERE CUST_CODE = '$custCode'");

解决方案

SqlConn返回的是JSON格式的字符串,需要先将其解析为可操作的List<Map>对象,再从中提取目标字段的值。

修改后的代码

import 'dart:convert';

var res = "";
Future<void> cetak(String query) async {
  var req = await SqlConn.readData(query);
  // 解析JSON字符串为List对象
  List<dynamic> resultList = jsonDecode(req);
  
  setState(() {
    // 列表非空时提取CUST_NAME值,为空则设为空字符串
    res = resultList.isNotEmpty ? resultList[0]['CUST_NAME'] ?? "" : "";
  });
}

修改后,res会直接存储MY NAME,使用Text(res)即可显示预期内容。

内容的提问来源于stack exchange,提问作者Tsabit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:01:02