易语言 JSON取值?

有两段JSON。
【第一段】
{"c":"0","m":"","d":{"allScore":47,"homeAnalysisScore":{"movingLineScore":29,"zoneScore":0,"ventilationScore":18},"floorplanInfos":[{"area":100.15,"realArea":80.12,"planImage":"https://abc123.com/prod/img/L732W7AKN4HQCAABAAAAACQ8panoguide.png@watermark=1&object=bG9nby5wbmc=&p=7&x=10&y=10","levelIndex":2,"levelName":"三层"},{"area":101.525,"realArea":81.22,"planImage":"https://abc123.com/prod/img/afbc3b56e2bac7b30102a03cff42600d_800x800.jpg@watermark=1&object=bG9nby5wbmc=&p=7&x=10&y=10","levelIndex":1,"levelName":"二层"},{"area":108.2125,"realArea":86.57,"planImage":"https://abc123.com/prod/img/L73247IKN4EFIAABAAAAABY8panoguide.png@watermark=1&object=bG9nby5wbmc=&p=7&x=10&y=10","levelIndex":0,"levelName":"一层"}]}}
【第二段】
[{"levelName":"一层","levelId":"L73247IKN4EFIAABAAAAABY8","levelIndex":0,"renderPicCounts":0},{"levelName":"二层","levelId":"L732W7AKN4HQCAABAAAAACA8","levelIndex":1,"renderPicCounts":15},{"levelName":"三层","levelId":"L732W7AKN4HQCAABAAAAACQ8","levelIndex":2,"renderPicCounts":0}]

从这两段JSON中我想取出以下格式的数据:
比如:
levelIndex:0;levelName:一层;levelId:L73247IKN4EFIAABAAAAABY8;area:108.2125;realArea:86.57
levelIndex:1;levelName:二层;levelId:L732W7AKN4HQCAABAAAAACA8;area:101.525;realArea:81.22
levelIndex:2;levelName:三层;levelId:L732W7AKN4HQCAABAAAAACQ8;area:100.15;realArea:80.12
【注意:】
层数不是固定的,有的是一层有的是二层有的是五层,这里的三层是举例。

第1个回答  2023-12-22
JSON格式是一种轻量级的数据交换格式,易于人们阅读和编写,并易于机器解析和生成。在易语言中,我们可以使用JSON对数据进行序列化和反序列化操作,方便数据的存储和传输。下面我们就来介绍一下如何使用易语言提取JSON数据。

首先,我们需要使用EJson模块来进行JSON操作,此模块可以在易语言官网进行下载。下载后,我们需要将EJson模块导入到工程中,在代码中通过predefine指令来引用EJson模块中的函数。

#include "EJson\predefine.bas"
接下来,我们需要定义一个JSON字符串,方便我们进行数据的提取操作。下面是一个示例JSON字符串:

{
"name": "张三",
"age": 20,
"gender": "男",
"hobby": [
"游泳",
"跑步"
]
}
代码中我们可以通过EJson模块中的Parse函数将JSON字符串转换为JSON对象,例如:

str_json = "{ \"name\": \"张三\", \"age\": 20, \"gender\": \"男\", \"hobby\": [\"游泳\", \"跑步\"] }"
json_obj = Parse(str_json)
其中,Parse函数的返回值是一个JSON对象,我们可以通过get方法来获取JSON对象中的值。例如我们想要获取name的值:

name = json_obj.get("name")
当JSON对象中的值是一个数组时,我们可以通过get_array方法来获取数组中的值。例如我们想要获取hobby数组中的第一个元素:

hobby = json_obj.get_array("hobby")
first_hobby = hobby[0]
以上就是使用易语言提取JSON数据的步骤,希望可以帮助大家进行JSON数据操作。
第2个回答  2022-08-06
易语言有json解析模块的吧,你可以试一试
相似回答