Lua 给 json 数据添加值

我正在尝试向 json 中插入新数据。我的 json 是:

data = {"one":44,"two":18}

arr_stock = json.decode(data)

我想要插入的数据是:

result = {"three":5}

我该怎么做呢?

我尝试了:

arr_stock = arr_stock , result

但是它并没有起作用。

点赞
用户2858170
用户2858170
arr_stock.three = 5

为了避免出错,您应该首先确保解码 JSON 字符串成功。

关于您的代码:

data = {"one":44,"two":18} 是无效的语法。如果您想将其作为 json.decode 的参数使用,data 必须是一个字符串,因为 json.decode 会将 JSON 字符串解码为 Lua 表格。

data = '{"one":44,"two":18}' 将是有效的 Lua 字符串。

同样适用于 result = {"three":5}

假设 arr_stock 是通过解码 data 成功获得的表格,则 arr_stock = arr_stock + result 是荒谬的。

您不能添加表格和字符串,除非您已经实现了相应的元方法。在这里要做的是将一个新字段插入到表中,这可以通过赋值来完成。

请参阅 Lua 手册 https://www.lua.org/manual/5.4/

2021-04-09 15:23:24