首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ada中访问JSON数组的特定位置?

如何在ada中访问JSON数组的特定位置?
EN

Stack Overflow用户
提问于 2019-07-09 08:55:31
回答 1查看 341关注 0票数 5

我有这样一个数组:

代码语言:javascript
复制
{
   "Test":
         [
            0,
            1,
            2,
            3,
            4
         ]
}

我使用的是GNATCOLL.JSON,但我没有看到任何函数来处理数组并执行类似的操作,例如:

代码语言:javascript
复制
integer = Test (2);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-09 09:52:18

你可能想试试:

代码语言:javascript
复制
function Get (Val : JSON_Value; Field : UTF8_String) return JSON_Array

然后

代码语言:javascript
复制
function Get (Arr : JSON_Array; Index : Positive) return JSON_Value

然后

代码语言:javascript
复制
function Get (Val : JSON_Value; Field : UTF8_String) return Integer

例如,运行程序:

main.adb

代码语言:javascript
复制
with Ada.Text_IO;              
with Ada.Text_IO.Unbounded_IO;
with Ada.Strings.Unbounded;

with GNATCOLL.JSON;                 

procedure Main is

   use Ada.Text_IO;
   use Ada.Strings.Unbounded;

   Input : Unbounded_String := Null_Unbounded_String;   

begin


   --  Read.
   declare
      use Ada.Text_IO.Unbounded_IO;    
      Fd : File_Type;
   begin  
      Open (Fd, In_File, "./example.json");
      while not End_Of_File (Fd) loop
         Input := Input & Unbounded_String'(Get_Line (Fd));
      end loop;
      Close (fd);
   end;


   --  Process.
   declare         
      use GNATCOLL.JSON;     
      Root : JSON_Value := Read (Input);
      Test : JSON_Array := Root.Get ("Test");
   begin    
      for I in 1 .. Length (Test) loop
         Put_Line ("Array element :" & Integer'Image (Get (Test, I).Get));
      end loop;     
   end;     

end Main;

使用

example.json

代码语言:javascript
复制
{
   "Test":
         [
            0,
            1,
            2,
            3,
            4
         ]
}

收益率

代码语言:javascript
复制
$ ./main
Array element : 0
Array element : 1
Array element : 2
Array element : 3
Array element : 4
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56948828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档