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

在App Inventor中从Firebase获取的非标准数据格式识别及转JSON问询

App Inventor Firebase返回格式解析与JSON转换方案

嘿,我来帮你理清这个问题~

这个格式到底是什么?

你拿到的{ a=1 , b=2, c=3}其实是App Inventor中Firebase组件返回的自定义键值对字符串。本质上是App Inventor底层的Java代码,把Firebase返回的键值对集合(类似HashMap这种键值容器)直接调用toString()方法生成的输出,它属于一种简化的属性列表格式,不是任何标准的序列化格式(比如JSON、XML)。

为什么直接替换=为:没用?

你说的没错,直接替换后得到的{a:1 , b:2, c:3}根本不是合法的JSON——标准JSON有两个硬性要求:

  • 所有的键必须用双引号包裹
  • 字符串类型的值也必须用双引号包裹(数字、布尔值这类不用)

直接替换符号后,键没有双引号,不符合JSON规范,自然无法被标准JSON解析器识别。

怎么转换成标准JSON?

你可以用App Inventor自带的字符串操作组件,分几步手动处理:

  1. 去除首尾大括号:把字符串开头的{和结尾的}删掉,得到a=1 , b=2, c=3
  2. 分割键值对:按逗号分割字符串,同时记得去掉每个元素前后的空格,得到["a=1", "b=2", "c=3"]这样的列表
  3. 拆分键与值:对列表里的每个元素,按=分割,同样去掉键和值前后的空格,得到单独的键(比如a)和值(比如1)
  4. 格式化键值对:给键加上双引号,值如果是字符串就也加双引号(数字/布尔值不用),然后用:连接,变成"a":1、"b":2这种格式
  5. 拼接成JSON:把所有处理好的键值对用逗号连接,再给整体加上首尾的{},最终就能得到合法的JSON:
    {"a":1, "b":2, "c":3}
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:40:05