Forum > Russian

Пытаюсь распарсить 2 JSONа и скопировать значениия

<< < (5/6) > >>

AlexTP:
Нет проблемы с валидацией. Верный json file поймется верно. Неверный- ну да, некоторые ошибки не поймает, и фиг с ним.

avk:
Ну на нет и суда нет.:)

Кажется, информация об исключительной тормознутости FpJson на больших файлах тоже немного преувеличена.Он, конечно, не самый быстрый, но и не самый медленный. Скормил вот этот джейсон парсерам, которые оказались под рукой.
Места распределились как-то так:

--- Code: Text  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---  Mormot2.TDocVariant: 1430 ms.  lgJson:              2970 ms.  JsonTools:           4730 ms.  FpJson:              7174 ms.  UJson:              10877 ms.  lkJson:             16468 ms.    

BeniBela:
By the way, my Internet Tools also have a JSON parser

I put in that citylots.json file and got:


--- Code: Text  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---Internet Tools JSON Scanner:                         508 msFpJson JSON Scanner:                                2706 msInternet Tools JSON Parser + Bero's PasDblStrUtils: 6542 msInternet Tools JSON Parser:                         7171 msFpJson JSON Parser:                                 8343 ms 

AlexTP:
FpJson JSON Scanner:                                2706 ms
FpJson JSON Parser:                                 8343 ms

Из-за чего вообще такая разница? Первый JSON Scanner не использовал прямо, сам не пойму. вот бы оптимизировать.

BeniBela:

--- Quote from: Alextp on August 21, 2021, 01:58:12 pm ---Из-за чего вообще такая разница? Первый JSON Scanner не использовал прямо, сам не пойму. вот бы оптимизировать.

--- End quote ---

It does not create any TJsonData. And it does not load the entire document in memory. You get just one token at a time: E.g. If the input is {"a": "b"}, the scanner returns CurToken = tkCurlyBraceOpen, tkString("a"), tkColon, tkWhitespace, tkString("b"), tkCurlyBraceClose

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version