Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >由JSON生成的表中的Lua访问指示

由JSON生成的表中的Lua访问指示
EN

Stack Overflow用户
提问于 2019-03-16 15:21:13
回答 4查看 1.2K关注 0票数 0

因此,我一定会使用Lua从Openweathermap API获取天气数据。我设法发送了一个http请求来返回并存储所有数据,但是现在我被一个Lua表卡住了,我不知道如何使用它。我对Lua非常陌生,我没有找到任何关于Lua中这么深的嵌套表的指南或类似的东西。

特别是,我只对main中的temp字段感兴趣。下面是Sample request response接口的响应示例

依赖于Lua的socket.http和this json到Lua表格格式化程序。下面是我的基本代码结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
json = require ("json")
web = require ("socket.http")

local get = json.decode(web.request(<API Link>))

"get“现在存储了一个我不知道如何使用的表

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-03-16 23:59:55

两天后,我终于找到了错误。我在一个叫做OpenComputers的“我的世界”模型中工作,它利用了Lua。mod似乎使用了自己的socket.http版本,每次我想打印响应时,它都会返回两个函数供request使用。我发现,如果我在变量后面加上一个"()“,它会以字符串的形式返回响应,并且使用JSON库,我可以将其解码为一个可工作的表。

旁注:我可以像这样访问天气:json_table“天气”

mod在http请求上的文档非常糟糕,所以我不得不通过myslef来解决这个问题。谢谢你的回复,最后这个错误总是出乎意料的!

票数 0
EN

Stack Overflow用户

发布于 2019-03-16 20:29:27

https://www.json2yaml.com/的帮助下,结构是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cod: '200'
message: 0.0036
cnt: 40
list:
- dt: 1485799200
  main:
    temp: 261.45
    temp_min: 259.086
    temp_max: 261.45
    pressure: 1023.48
    sea_level: 1045.39
    grnd_level: 1023.48
    humidity: 79
    temp_kf: 2.37
  weather:
  - id: 800
    main: Clear
    description: clear sky
    icon: 02n
  clouds:
    all: 8
  wind:
    speed: 4.77
    deg: 232.505
  snow: {}
  sys:
    pod: n
  dt_txt: '2017-01-30 18:00:00'- dt: 1486220400city:
  id: 524901
  name: Moscow
  coord:
    lat: 55.7522
    lon: 37.6156
  country: none

所以,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for index, entry in ipairs(get.list) do
    print(index, entry.dt, entry.main.temp)
end

ipairs迭代表中的正整数键,直到但不包括第一个没有值的整数。这似乎就是JSON库表示JSON数组的方式。

票数 1
EN

Stack Overflow用户

发布于 2019-03-16 20:22:14

该示例响应似乎有许多子表,其中包含main。试试这个:get.list[1].main.temp

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55198358

复制
相关文章
【PY】根据 Excel 中的指示修改 JSON 数据
继上一次友友问了如何处理 Excel 中的数据之后,这次他又遇到了新问题,让我们一起来看看;
sidiot
2023/08/31
2650
【PY】根据 Excel 中的指示修改 JSON 数据
Lua中如何读写JSON
这是常用的方法,通过Lua对字符串进行解析,从而完成JSON的编码及解码。网络上有许多现成的Lua JSON库可以使用。
杜金房
2020/12/21
8.5K0
Lua中如何读写JSON
Lua中的元表和元方法
Lua中每个值都可具有元表。 元表是普通的Lua表,定义了原始值在某些特定操作下的行为。你可通过在值的原表中设置特定的字段来改变作用于该值的操作的某些行为特征。例如,当数字值作为加法的操作数时,Lua检查其元表中的"__add"字段是否有个函数。如果有,Lua调用它执行加法。
王亚昌
2019/05/26
1.7K0
Lua中的原表介绍及其使用举例
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bering
2019/12/03
7570
由表生成代码:mybatis-generator入门
application.properties ## mapper xml 文件地址 mybatis.mapper-locations=classpath\*:mapper/\*Mapper.xml
道可道非常道
2019/05/05
4710
由表生成代码:mybatis-generator入门
lua解析json
Json 一种文本数据格式,具体参见菜鸟教程;  环境搭建 主机Ubuntu 16.04 安装sudo aptitude install lus-cjson 和lua 代码实现 test.json { "str":"hello world", "configs":[{ "user":"ubuntu", "password":"123456", "ip":"192.168.1.12" }, { "use
程序手艺人
2019/02/21
7.4K0
lua表排序
Lua作为一种很强大且轻量级脚本语言的存在,对于掌握其几乎无所不能的Table(其实就是一个Key Value的数据结构,它很像Javascript中的Object,或是PHP中的数组,在别的语言里叫Dict或Map)是十分必要的。对于Lua语言可参见酷壳Lua简明教程这篇Blog。 对于lua的table排序问题,一般的使用大多是按照value值来排序,使用table.sort( needSortTable , func)即可(可以根据自己的需要重写func,否则会根据默认来:默认的情形之下,如果表内既有
晚晴幽草轩轩主
2018/03/27
2.8K0
JSON C# Class Generator —由json字符串生成C#实体类的工具
json作为互联网上轻量便捷的数据传输格式,越来越受到重视。但在服务器端编程过程中,我们常常希望能通过智能提示来提高编码效率。JSON C# Class Generator 能将json格式所表示的Javascript对象转化成强类型的C#实体类,来实现减少代码输入的效果。
全栈程序员站长
2022/07/21
1K0
redis中的lua
前言 最近在看redis的lua,看了官网资料和网上一些文章,整理了lua的相关内容,希望对大家有帮助。 目录 0. redis中运行lua的流程的正常流程 1.redis中的lua概要信息     1.1 lua中调用redis命令     1.2 redis数据结构与lua数据结构对应关系     1.3 EVAL和EVALSHA     1.4 脚本缓存     1.5 脚本命令     1.6 其他约定         1.6.1 全局变量保护         1.6.2 Sele
温安适
2018/05/17
1.8K0
使用工具优化Lua的table访问
写Lua代码似乎不需要考虑性能,毕竟都用Lua了,如果考虑性能直接用C++不就好了。但是勤俭节约是中华民族传统美德,能省点cpu是一点。特别是在Lua使用越来越多的时候。
esrrhs
2023/03/06
5060
Lua生成的LDoc文档注释规范
函数参数@param 是不指明具体类型的, 若想指明的话可以用 @int, @string, @bool, @func, @tab, @thread 几个标签来.
bering
2020/03/19
4.2K0
Lua-原表
__index元方法 Lua 查找一个表元素时的规则,其实就是如下 3 个步骤:
祝你万事顺利
2019/05/31
3850
Lua下的excel配置表极致优化
项目中由于对于启动的优化,配置表量并不是特别大,但启动时长却不低,但对于应用类来说,对启动时长要求很严格。
用户7851139
2022/12/16
8870
Lua 中的常用API
luaL_newstate lua_State *luaL_newstate (void); 创建一个新的state luaL_openlibs void luaL_openlibs (lua_State *L); 打开所有的标准lua库到指定状态,也就是把所有标准类库加载到指定的虚拟机. luaL_loadfile int luaL_loadfile (lua_State *L, const char *filename); 加载文件的时候把它当一个lua模块 luaL_dofile和luaL
程序手艺人
2019/02/21
1.8K0
【游戏开发】小白学Lua——从Lua查找表元素的过程看元表、元方法
在上篇博客中,我们简单地学习了一下Lua的基本语法。其实在Lua中有一个还有一个叫元表的概念,不得不着重地探讨一下。元表在实际地开发中,也是会被极大程度地所使用到。本篇博客,就让我们从Lua查找表元素的过程,来探讨学习一下Lua中的元表。
马三小伙儿
2018/09/12
1.8K0
ASP.NET中的页面指示标识
页面指示标识 的功能是用来确定在处理aspx文件的时候,需要系统做一些什么特殊的设定?它的语法是: <%@ directive attribute=value %>   比如:<%import namespace="System.Data"%>
Java架构师必看
2021/03/22
1.6K0
点击加载更多

相似问题

访问由stringify生成的json

11

在lua C++中访问由表键索引的表

22

如何打印由JSON数据生成的表?

56

嵌套表中的Lua访问表值

21

lua中的Json表拉取

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文