Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从哪里开始使用JSON?_Json_Delphi_Parsing - Fatal编程技术网

从哪里开始使用JSON?

从哪里开始使用JSON?,json,delphi,parsing,Json,Delphi,Parsing,我对JSON一无所知,但我希望能够从URL读取一些数据,并将它们存储在DB中。 但我不知道从哪里开始,所以我想在这里询问一些提示,也许还有一些我可以从中学习的示例链接 我知道输出可能看起来很混乱,但我有一个列表,列出了每个项目是什么 该文件是来自我的pelletburner的运行时数据 要学习JSON JavaScript对象表示法,请阅读。 要从url下载数据,可以使用TIdHttp,这是Indy framework的Http客户端。 要解析JSON,我建议使用。它在demos目录中包含了一些

我对JSON一无所知,但我希望能够从URL读取一些数据,并将它们存储在DB中。 但我不知道从哪里开始,所以我想在这里询问一些提示,也许还有一些我可以从中学习的示例链接 我知道输出可能看起来很混乱,但我有一个列表,列出了每个项目是什么

该文件是来自我的pelletburner的运行时数据 要学习JSON JavaScript对象表示法,请阅读。 要从url下载数据,可以使用TIdHttp,这是Indy framework的Http客户端。 要解析JSON,我建议使用。它在demos目录中包含了一些很好的例子。 这是阅读的第一页。该标准非常简单,从本页很容易理解

我找到了。很高兴见到你

以下是本网页的结论:

JSON是一种开放的、基于文本的、轻量级的数据交换格式,指定为RFC4627,于2005年出现在开发者世界,它是 人气迅速增加。 JSON使用对象和数组作为数据结构,使用字符串、数字、true、false和null作为值。对象和数组可以嵌套 递归地。 大多数(如果不是所有的话)现代编程语言都可以用来处理JSON。 NoSQL数据库是为了摆脱关系数据库的瓶颈而发展起来的,它使用JSON来存储数据。 JSON使开发人员能够在XML和JSON之间进行选择,从而带来更大的灵活性。 除了NoSQL之外,AJAX、包管理以及API与web应用程序的集成也是使用JSON的主要领域 广泛地。 JSON的要点是它包含文档或文档数组。与Delphi相比,数据类型更少,例如没有正式日期/时间,只有一个数字类型。它是一种交换格式,现在被广泛使用,而且,根据我自己的实验,从人和计算机的角度来看,它比XML更容易使用

在Delphi中,您有几个库,主要是:

它与更新版本的Delphi一起提供; 关于性能。DBXJSON和Delphi的官方JSON单元是迄今为止最慢的,并且有点难以使用。缺少一些易于访问JSON文档内容的方法。其他库更容易使用。我们随mORMot提供的版本非常快,dwsJSON也是如此。SuperObject比那些要慢,尤其是对于大型内容,而XSuperObject虽然慢但跨平台。我们的SynCrossPlatformJSON单元也是跨平台的,速度非常快,并且具有基于变量的文档访问

使用mORMot库的一些代码:


JSON是一种交换形式,用于在需要向其发送数据的任何对象之间发送数据。它的简单就是它的力量

文本是有效的javascript,因此可以由任何javascript编译器进行解释,但现在非常流行,几乎每种语言现在都内置了json解析器,或者作为一个库(请参阅向下滚动至底部)


基本上,JSON是一种非常简单的结构化文本。如果您使用google JSON Library Delphi,您应该获得一些解决方案或您想要使用的任何其他语言。

我们不提供提示列表,并且请求链接到示例和教程的请求在主题中明确表示为off0。它们属于工具、库或喜爱的非现场资源。我们也不会去其他地方看你在讨论什么内容。这里有许多关于JSON的帖子,包括许多关于Delphi和JSON的帖子。请先做一些研究,然后当你有一个特定的问题时,你可以在这里解释这个问题,包括你的代码中给你带来困难的相关部分,然后问这个特定的问题。从那时开始,我很抱歉问你-更新的人会再这样做吗。@SirRufo-真的!我认为他需要一个两句话的解释,JSON是一种用于数据交换的文本格式,而且他所关心的几乎任何语言都有一个库。不要把他送到一个更长的标准图书馆去浪费他的时间。@toby websearch提供了这些信息superobject wiki页面是空白的@Gaetano谢谢你纠正我。下载包中包含示例。superobject在我的许多项目中工作非常稳定。请不要下载1.2.4源代码ZIP文件,而是转到“源代码”选项卡下载最新的源代码。请参阅我在上的说明。我仍然想知道为什么SuperObject在其项目页面中声称与Linux/FPC兼容,而当前的源代码却不兼容。@ArnaudBouchez SuperObject的一个新迭代称为XSuperObject,它引入了多平台功能。不过,我发现里面有各种各样的bug。用Delphi的新版本打出来的打字很好。PI一直在寻找这些mORMot库,但我就是找不到下载的地方。或
uses
  SynCrtSock,
  SynCommons;

procedure test;
var json: RawUTF8;
    jsondata: TDocVariantData;
    i: integer;
begin
  json := TWinHttp.Get('http://stokercloud.dk/dev/getdriftjson.php?mac=oz8hp');
  jsondata := DocVariantData(_json(json).jsondata)^;
  for i := 0 to jsondata.Count-1 do
    writeln(jsondata.Values[i]); // here all items are converted back to JSON and written
end;