16. Json 串的使用
在文件 stations.csv 和 station2.json 中记录了一些观测站的经纬度和高程等数据。在所有的观测站信息中,找到名称以 B 开头的观测站信息,并按站名排序,且将结果返回为 json 串。
参考答案:
解答:
A | |
---|---|
1 | =T(“stations.csv”) |
2 | =json(file(“stations2.json”).read()) |
3 | =(A1|A2).select((first=left(STATION,1), first==“B” || first==“C”)).sort(STATION) |
4 | =json(A3) |
使用 json() 函数能很方便地处理有关 json 串的问题,它可以自动判断参数的类型,将序表或者记录转换为 json 串,也可以根据 json 串将其读取为对应数据。A1 中读出 csv 文件中的序表如下:
A2 从 json 文件中读取字符串后,将其转换为序表如下:
A2 读取 json 为序表的处理,也可以改为 =T(“stations2.json”),T 函数也可以根据扩展名自动识别 json 文件。A3 中将上面两个表中的数据合并在一起查询,合并时只需用 A|B 将 A2 中记录放在 A1 后面一起查询,并不需要数据来自同一个表,甚至不需要它们的字段完全一致,但是筛选等处理时所用的字段它们都需要有。A3 中结果如下:
A4 仍然使用 json()函数,可以把结果序表转换为 json 串,如有需要可以用 f.write(T) 将其写入 json 文件。
英文版