From 049eb2d87bafc375b0383201c186da793eb37f2b Mon Sep 17 00:00:00 2001 From: geofflangdale <37128715+geofflangdale@users.noreply.github.com> Date: Mon, 25 Feb 2019 13:33:15 +1100 Subject: [PATCH 1/8] Update README.md Added links to paper and blog post --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 891079958..4e339ce12 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,9 @@ JSON documents are everywhere on the Internet. Servers spend a lot of time parsing these documents. We want to accelerate the parsing of JSON per se using commonly available SIMD instructions as much as possible while doing full validation (including character encoding). +## Paper +A description of the design and implementation of simdjson appears at https://arxiv.org/abs/1902.08318 and an informal blog post providing some background and context is at https://branchfree.org/2019/02/25/paper-parsing-gigabytes-of-json-per-second/. ## Some performance results We can use a quarter or fewer instructions than a state-of-the-art parser like RapidJSON, and half as many as sajson. To our knowledge, simdjson is the first fully-validating JSON parser to run at gigabytes per second on commodity processors. From e6c9d7092f6ac76a8c07fa02e5e68bda7dff98b9 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Mon, 25 Feb 2019 14:02:03 -0500 Subject: [PATCH 2/8] Adding copies of data files with credit to @plokhotnyuk so that we can track issue https://github.com/lemire/simdjson/issues/70 --- jsonexamples/small/jsoniter_scala/README.md | 4 + .../small/jsoniter_scala/che-1.geo.json | 1 + .../small/jsoniter_scala/che-2.geo.json | 1 + .../small/jsoniter_scala/che-3.geo.json | 1 + .../google_maps_api_compact_response.json | 1 + .../google_maps_api_response.json | 1169 +++++++++++++++++ .../twitter_api_compact_response.json | 1 + .../jsoniter_scala/twitter_api_response.json | 428 ++++++ 8 files changed, 1606 insertions(+) create mode 100644 jsonexamples/small/jsoniter_scala/README.md create mode 100644 jsonexamples/small/jsoniter_scala/che-1.geo.json create mode 100644 jsonexamples/small/jsoniter_scala/che-2.geo.json create mode 100644 jsonexamples/small/jsoniter_scala/che-3.geo.json create mode 100644 jsonexamples/small/jsoniter_scala/google_maps_api_compact_response.json create mode 100644 jsonexamples/small/jsoniter_scala/google_maps_api_response.json create mode 100644 jsonexamples/small/jsoniter_scala/twitter_api_compact_response.json create mode 100644 jsonexamples/small/jsoniter_scala/twitter_api_response.json diff --git a/jsonexamples/small/jsoniter_scala/README.md b/jsonexamples/small/jsoniter_scala/README.md new file mode 100644 index 000000000..10be14f87 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/README.md @@ -0,0 +1,4 @@ +Files from https://github.com/plokhotnyuk/jsoniter-scala/tree/master/jsoniter-scala-benchmark/src/main/resources/com/github/plokhotnyuk/jsoniter_scala/benchmark + +See issue "Lower performance on small files": +https://github.com/lemire/simdjson/issues/70 diff --git a/jsonexamples/small/jsoniter_scala/che-1.geo.json b/jsonexamples/small/jsoniter_scala/che-1.geo.json new file mode 100644 index 000000000..4d31d2c24 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/che-1.geo.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"cca2":"ch"},"geometry":{"type":"Polygon","coordinates":[[[7.697223,47.543327],[7.769722,47.553329],[7.906388,47.558052],[7.91361,47.553886],[7.918888,47.552773],[7.931944,47.552216],[8.033333,47.556107],[8.086666,47.560555],[8.092222,47.561661],[8.099722,47.565552],[8.102499,47.568329],[8.103888,47.571938],[8.108055,47.578331],[8.110832,47.581108],[8.185276,47.617218],[8.193333,47.620827],[8.198889,47.621666],[8.205555,47.621666],[8.240833,47.619438],[8.283333,47.613052],[8.288055,47.611664],[8.2925,47.605827],[8.390833,47.579994],[8.435833,47.573608],[8.464998,47.602493],[8.477499,47.612221],[8.51111,47.631104],[8.519999,47.634163],[8.531387,47.632774],[8.558332,47.623329],[8.562222,47.621384],[8.565554,47.614441],[8.56943,47.598537],[8.57642,47.59137],[8.591389,47.599442],[8.594721,47.601662],[8.629166,47.646111],[8.630833,47.649719],[8.629444,47.653328],[8.626944,47.656105],[8.620832,47.66111],[8.610254,47.667732],[8.580555,47.66861],[8.551388,47.668327],[8.545832,47.667496],[8.536943,47.664444],[8.528055,47.656944],[8.525833,47.65361],[8.518332,47.649719],[8.495277,47.647217],[8.475555,47.646942],[8.424721,47.669441],[8.413332,47.678329],[8.407221,47.699715],[8.406666,47.703888],[8.473331,47.767494],[8.47611,47.769997],[8.479443,47.772499],[8.559721,47.806389],[8.566111,47.806938],[8.60861,47.804161],[8.614721,47.803604],[8.661388,47.79805],[8.685555,47.786659],[8.734999,47.761383],[8.736944,47.758049],[8.736944,47.75444],[8.734999,47.713882],[8.734165,47.709717],[8.730698,47.705673],[8.729166,47.703888],[8.720222,47.696625],[8.745277,47.695],[8.761389,47.692215],[8.800133,47.681725],[8.774721,47.710274],[8.772778,47.713333],[8.772221,47.717499],[8.777777,47.722771],[8.799999,47.735275],[8.804165,47.737221],[8.808887,47.735832],[8.835278,47.718048],[8.855833,47.698883],[8.883299,47.654148],[8.892776,47.651382],[8.904999,47.650276],[8.917776,47.650551],[8.934166,47.653053],[8.947777,47.657494],[8.973331,47.667496],[8.985554,47.672775],[8.996666,47.679161],[9.004999,47.682495],[9.024166,47.687775],[9.0425,47.688889],[9.078333,47.685829],[9.086943,47.684998],[9.261095,47.662842],[9.478322,47.575851],[9.566724,47.540451],[9.557772,47.505783],[9.559721,47.499718],[9.562222,47.496666],[9.567499,47.491104],[9.590277,47.470276],[9.594166,47.46833],[9.611666,47.468887],[9.646944,47.460274],[9.65111,47.458328],[9.65361,47.455551],[9.673332,47.398605],[9.673054,47.394997],[9.669998,47.387772],[9.664999,47.381386],[9.650555,47.373055],[9.641666,47.369995],[9.631388,47.36805],[9.625832,47.367218],[9.624422,47.367252],[9.614443,47.367493],[9.605276,47.359993],[9.599722,47.354164],[9.539999,47.284164],[9.533569,47.274544],[9.502222,47.231384],[9.491388,47.215271],[9.485832,47.200272],[9.484165,47.192215],[9.484444,47.179718],[9.489721,47.16555],[9.49861,47.15361],[9.505554,47.139999],[9.511389,47.121666],[9.512777,47.109444],[9.512499,47.100273],[9.510277,47.092499],[9.474637,47.057457],[9.485277,47.061104],[9.506388,47.06472],[9.538055,47.07],[9.544722,47.07],[9.598635,47.063835],[9.6325,47.056664],[9.719444,47.050278],[9.870277,47.023598],[9.875555,47.022491],[9.891943,47.003876],[9.893055,47.000267],[9.889444,46.993324],[9.880833,46.98082],[9.875555,46.970543],[9.873333,46.962769],[9.87361,46.958603],[9.87611,46.941658],[9.879444,46.939156],[9.934999,46.912773],[10.058887,46.866386],[10.109444,46.850273],[10.122776,46.849716],[10.140276,46.851105],[10.141807,46.851341],[10.15111,46.852776],[10.170555,46.857216],[10.22361,46.874992],[10.231388,46.878883],[10.313332,46.933609],[10.323332,46.955551],[10.345833,46.986382],[10.353611,46.994995],[10.357222,46.997215],[10.385555,47.002777],[10.391109,47.003609],[10.400833,47.001106],[10.429998,46.984161],[10.487499,46.937775],[10.488913,46.934212],[10.471235,46.871353],[10.447498,46.763054],[10.470833,46.635826],[10.486387,46.619438],[10.486666,46.615273],[10.486111,46.594719],[10.485277,46.590553],[10.475555,46.562492],[10.471109,46.551666],[10.465277,46.546387],[10.457531,46.542503],[10.44972,46.539162],[10.337221,46.549438],[10.305555,46.553886],[10.301666,46.555832],[10.247499,46.583885],[10.245554,46.587219],[10.245277,46.59111],[10.246944,46.599442],[10.253054,46.613884],[10.254166,46.61805],[10.253611,46.622215],[10.241665,46.636665],[10.238609,46.638885],[10.233332,46.639999],[10.18111,46.632217],[10.119165,46.611382],[10.0525,46.543053],[10.050278,46.539993],[10.044722,46.507217],[10.044167,46.498055],[10.044443,46.453331],[10.044998,46.449165],[10.046665,46.445831],[10.049166,46.443054],[10.055555,46.438332],[10.067221,46.432495],[10.08861,46.424164],[10.092777,46.423332],[10.153889,46.390274],[10.177221,46.272499],[10.176388,46.268326],[10.172499,46.257217],[10.169722,46.25444],[10.140833,46.23333],[10.133888,46.228882],[10.129999,46.227219],[10.078609,46.220551],[10.072777,46.220276],[10.066666,46.221107],[10.063055,46.222771],[10.05722,46.22805],[9.994999,46.291664],[9.982498,46.331383],[9.981943,46.334717],[9.991388,46.346664],[9.99361,46.354439],[9.991943,46.357773],[9.984722,46.361938],[9.949999,46.379166],[9.943888,46.379997],[9.91111,46.383331],[9.904999,46.383049],[9.852777,46.36972],[9.813055,46.35833],[9.770555,46.342209],[9.714998,46.302773],[9.708332,46.298332],[9.696943,46.297218],[9.624722,46.291939],[9.581944,46.296944],[9.547222,46.30555],[9.5425,46.306938],[9.521387,46.319717],[9.458611,46.38472],[9.456665,46.387772],[9.450277,46.426666],[9.455,46.472496],[9.372776,46.5075],[9.360832,46.508606],[9.302221,46.504715],[9.296944,46.503883],[9.288887,46.500275],[9.281944,46.495827],[9.273611,46.487778],[9.249722,46.448051],[9.25,46.440277],[9.253054,46.433327],[9.256943,46.431389],[9.272778,46.428329],[9.280554,46.423332],[9.282221,46.419998],[9.296944,46.35305],[9.297499,46.348885],[9.293333,46.32666],[9.291943,46.323051],[9.276667,46.292496],[9.24341,46.23671],[9.238609,46.230553],[9.189444,46.186661],[9.180555,46.179161],[9.177221,46.176941],[9.158609,46.171661],[9.144439,46.168049],[9.132221,46.160271],[9.083332,46.121109],[9.035831,46.05722],[9.016666,46.022499],[8.998055,45.976944],[8.996666,45.973328],[9.0175,45.94416],[9.025,45.935829],[9.031944,45.931664],[9.066666,45.924164],[9.079443,45.915833],[9.081388,45.912498],[9.085554,45.901939],[9.085554,45.899162],[9.083887,45.895554],[9.036665,45.837776],[8.998333,45.829437],[8.951111,45.845276],[8.93611,45.868889],[8.936666,45.872772],[8.936388,45.876938],[8.926666,45.900833],[8.9,45.949715],[8.895555,45.955826],[8.826666,45.984161],[8.813055,45.988609],[8.816944,46.031662],[8.82361,46.03611],[8.849998,46.054443],[8.852499,46.056938],[8.853333,46.061104],[8.850555,46.072495],[8.846666,46.079163],[8.844166,46.08194],[8.835278,46.089439],[8.826111,46.096664],[8.818333,46.100555],[8.747221,46.121109],[8.728855,46.108589],[8.72361,46.105553],[8.714998,46.102493],[8.701111,46.10083],[8.691944,46.101387],[8.617777,46.120277],[8.613888,46.122215],[8.460554,46.23333],[8.445555,46.245827],[8.444443,46.248604],[8.434166,46.291107],[8.434999,46.295273],[8.443333,46.317215],[8.447498,46.323326],[8.458332,46.33416],[8.465832,46.36805],[8.46611,46.37722],[8.461666,46.444443],[8.459999,46.452217],[8.451666,46.459999],[8.447498,46.461937],[8.436388,46.463333],[8.430277,46.463051],[8.365276,46.453606],[8.357222,46.449997],[8.30611,46.424721],[8.302776,46.422493],[8.299999,46.419716],[8.139999,46.226105],[8.143888,46.219719],[8.158333,46.188889],[8.159443,46.180832],[8.158888,46.176666],[8.150276,46.153053],[8.148888,46.149437],[8.014721,46.013329],[8.00861,46.008331],[7.998055,46.00222],[7.973055,45.996941],[7.95,45.994164],[7.911111,45.994164],[7.902499,45.991104],[7.881944,45.977776],[7.876666,45.972496],[7.866388,45.948326],[7.855742,45.919052],[7.8483,45.918755],[7.783889,45.923607],[7.743333,45.93222],[7.709167,45.943329],[7.653055,45.979996],[7.647499,45.98111],[7.536666,45.981667],[7.458055,45.941109],[7.429722,45.929443],[7.393332,45.916107],[7.378888,45.914719],[7.338888,45.920555],[7.300278,45.923882],[7.295555,45.92305],[7.291111,45.921944],[7.230277,45.898048],[7.196944,45.882217],[7.188611,45.879166],[7.183055,45.879166],[7.117499,45.880829],[7.105,45.882217],[7.099444,45.883606],[7.09111,45.887497],[7.077777,45.896942],[7.062778,45.909164],[7.038054,45.931938],[7.030555,45.961937],[7.008611,45.996666],[7.005833,45.999443],[6.933055,46.055275],[6.873888,46.088051],[6.788055,46.14222],[6.783889,46.148048],[6.781111,46.162498],[6.780833,46.166107],[6.799999,46.378326],[6.807016,46.404228],[6.809444,46.415276],[6.808332,46.41861],[6.803055,46.427773],[6.800278,46.43055],[6.791389,46.434166],[6.737778,46.447495],[6.702777,46.45472],[6.633611,46.464165],[6.52,46.45916],[6.510278,46.457771],[6.491944,46.453049],[6.328333,46.406944],[6.31111,46.401382],[6.295555,46.394165],[6.246388,46.357773],[6.243333,46.354996],[6.236388,46.344719],[6.23,46.333885],[6.225555,46.322495],[6.228055,46.319717],[6.243747,46.31551],[6.271944,46.26194],[6.245555,46.21833],[6.189166,46.173332],[6.185833,46.17083],[6.152222,46.15361],[6.133611,46.149437],[6.12361,46.148048],[5.996388,46.146942],[5.967222,46.201942],[5.96611,46.205276],[5.966666,46.209442],[5.968055,46.212494],[5.981388,46.221939],[6.009166,46.233887],[6.03,46.241386],[6.060833,46.250549],[6.072499,46.249718],[6.0825,46.246666],[6.107778,46.253052],[6.117222,46.260551],[6.119166,46.264442],[6.118055,46.268051],[6.106109,46.297489],[6.115,46.30555],[6.120277,46.311943],[6.154166,46.363052],[6.15861,46.369995],[6.158333,46.373886],[6.157222,46.37722],[6.151667,46.386383],[6.148333,46.388611],[6.111111,46.409721],[6.071111,46.426384],[6.086944,46.44944],[6.135278,46.539719],[6.129722,46.583054],[6.127222,46.585831],[6.127777,46.589996],[6.129999,46.59333],[6.269166,46.682777],[6.346666,46.711388],[6.355,46.714439],[6.366666,46.720551],[6.434999,46.758049],[6.452777,46.774437],[6.4575,46.78083],[6.458611,46.785271],[6.446944,46.839439],[6.460278,46.895828],[6.528333,46.971664],[6.566388,46.979996],[6.620832,46.994438],[6.629722,46.997215],[6.639722,47.004166],[6.678333,47.034164],[6.699444,47.063889],[6.793333,47.130829],[6.849721,47.164989],[6.838888,47.16777],[6.8375,47.171104],[6.839722,47.173607],[6.971666,47.291939],[7.000833,47.364998],[6.980833,47.361664],[6.931389,47.358887],[6.88111,47.356941],[6.879999,47.360275],[6.88111,47.364716],[6.884444,47.372772],[6.990555,47.497215],[7.025,47.508049],[7.14642,47.499054],[7.178333,47.445831],[7.187499,47.442215],[7.241111,47.421944],[7.246944,47.42083],[7.251389,47.421944],[7.275555,47.432495],[7.308332,47.440277],[7.336944,47.439438],[7.343611,47.438606],[7.355897,47.434017],[7.358055,47.433609],[7.3825,47.432495],[7.388333,47.434166],[7.415555,47.445274],[7.433054,47.460548],[7.452777,47.469994],[7.496944,47.494995],[7.502222,47.500549],[7.497222,47.544441],[7.49861,47.54805],[7.501389,47.550552],[7.513055,47.556664],[7.521667,47.559715],[7.546665,47.565552],[7.550833,47.576385],[7.557221,47.581383],[7.567222,47.583611],[7.586944,47.584999],[7.588268,47.58448],[7.640555,47.603882],[7.674444,47.606384],[7.676944,47.603607],[7.671944,47.579437],[7.669999,47.576385],[7.666666,47.574165],[7.621111,47.561104],[7.656111,47.550552],[7.697223,47.543327]],[[8.710255,47.696808],[8.709721,47.70694],[8.708332,47.710548],[8.705,47.713051],[8.698889,47.713608],[8.675278,47.712494],[8.670555,47.711105],[8.670277,47.707497],[8.673298,47.701771],[8.675554,47.697495],[8.678595,47.693344],[8.710255,47.696808]]]}}]} \ No newline at end of file diff --git a/jsonexamples/small/jsoniter_scala/che-2.geo.json b/jsonexamples/small/jsoniter_scala/che-2.geo.json new file mode 100644 index 000000000..3ff3d3253 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/che-2.geo.json @@ -0,0 +1 @@ +{"features":[{"properties":{"cca2":"ch"},"geometry":{"coordinates":[[[7.697223,47.543327],[7.769722,47.553329],[7.906388,47.558052],[7.91361,47.553886],[7.918888,47.552773],[7.931944,47.552216],[8.033333,47.556107],[8.086666,47.560555],[8.092222,47.561661],[8.099722,47.565552],[8.102499,47.568329],[8.103888,47.571938],[8.108055,47.578331],[8.110832,47.581108],[8.185276,47.617218],[8.193333,47.620827],[8.198889,47.621666],[8.205555,47.621666],[8.240833,47.619438],[8.283333,47.613052],[8.288055,47.611664],[8.2925,47.605827],[8.390833,47.579994],[8.435833,47.573608],[8.464998,47.602493],[8.477499,47.612221],[8.51111,47.631104],[8.519999,47.634163],[8.531387,47.632774],[8.558332,47.623329],[8.562222,47.621384],[8.565554,47.614441],[8.56943,47.598537],[8.57642,47.59137],[8.591389,47.599442],[8.594721,47.601662],[8.629166,47.646111],[8.630833,47.649719],[8.629444,47.653328],[8.626944,47.656105],[8.620832,47.66111],[8.610254,47.667732],[8.580555,47.66861],[8.551388,47.668327],[8.545832,47.667496],[8.536943,47.664444],[8.528055,47.656944],[8.525833,47.65361],[8.518332,47.649719],[8.495277,47.647217],[8.475555,47.646942],[8.424721,47.669441],[8.413332,47.678329],[8.407221,47.699715],[8.406666,47.703888],[8.473331,47.767494],[8.47611,47.769997],[8.479443,47.772499],[8.559721,47.806389],[8.566111,47.806938],[8.60861,47.804161],[8.614721,47.803604],[8.661388,47.79805],[8.685555,47.786659],[8.734999,47.761383],[8.736944,47.758049],[8.736944,47.75444],[8.734999,47.713882],[8.734165,47.709717],[8.730698,47.705673],[8.729166,47.703888],[8.720222,47.696625],[8.745277,47.695],[8.761389,47.692215],[8.800133,47.681725],[8.774721,47.710274],[8.772778,47.713333],[8.772221,47.717499],[8.777777,47.722771],[8.799999,47.735275],[8.804165,47.737221],[8.808887,47.735832],[8.835278,47.718048],[8.855833,47.698883],[8.883299,47.654148],[8.892776,47.651382],[8.904999,47.650276],[8.917776,47.650551],[8.934166,47.653053],[8.947777,47.657494],[8.973331,47.667496],[8.985554,47.672775],[8.996666,47.679161],[9.004999,47.682495],[9.024166,47.687775],[9.0425,47.688889],[9.078333,47.685829],[9.086943,47.684998],[9.261095,47.662842],[9.478322,47.575851],[9.566724,47.540451],[9.557772,47.505783],[9.559721,47.499718],[9.562222,47.496666],[9.567499,47.491104],[9.590277,47.470276],[9.594166,47.46833],[9.611666,47.468887],[9.646944,47.460274],[9.65111,47.458328],[9.65361,47.455551],[9.673332,47.398605],[9.673054,47.394997],[9.669998,47.387772],[9.664999,47.381386],[9.650555,47.373055],[9.641666,47.369995],[9.631388,47.36805],[9.625832,47.367218],[9.624422,47.367252],[9.614443,47.367493],[9.605276,47.359993],[9.599722,47.354164],[9.539999,47.284164],[9.533569,47.274544],[9.502222,47.231384],[9.491388,47.215271],[9.485832,47.200272],[9.484165,47.192215],[9.484444,47.179718],[9.489721,47.16555],[9.49861,47.15361],[9.505554,47.139999],[9.511389,47.121666],[9.512777,47.109444],[9.512499,47.100273],[9.510277,47.092499],[9.474637,47.057457],[9.485277,47.061104],[9.506388,47.06472],[9.538055,47.07],[9.544722,47.07],[9.598635,47.063835],[9.6325,47.056664],[9.719444,47.050278],[9.870277,47.023598],[9.875555,47.022491],[9.891943,47.003876],[9.893055,47.000267],[9.889444,46.993324],[9.880833,46.98082],[9.875555,46.970543],[9.873333,46.962769],[9.87361,46.958603],[9.87611,46.941658],[9.879444,46.939156],[9.934999,46.912773],[10.058887,46.866386],[10.109444,46.850273],[10.122776,46.849716],[10.140276,46.851105],[10.141807,46.851341],[10.15111,46.852776],[10.170555,46.857216],[10.22361,46.874992],[10.231388,46.878883],[10.313332,46.933609],[10.323332,46.955551],[10.345833,46.986382],[10.353611,46.994995],[10.357222,46.997215],[10.385555,47.002777],[10.391109,47.003609],[10.400833,47.001106],[10.429998,46.984161],[10.487499,46.937775],[10.488913,46.934212],[10.471235,46.871353],[10.447498,46.763054],[10.470833,46.635826],[10.486387,46.619438],[10.486666,46.615273],[10.486111,46.594719],[10.485277,46.590553],[10.475555,46.562492],[10.471109,46.551666],[10.465277,46.546387],[10.457531,46.542503],[10.44972,46.539162],[10.337221,46.549438],[10.305555,46.553886],[10.301666,46.555832],[10.247499,46.583885],[10.245554,46.587219],[10.245277,46.59111],[10.246944,46.599442],[10.253054,46.613884],[10.254166,46.61805],[10.253611,46.622215],[10.241665,46.636665],[10.238609,46.638885],[10.233332,46.639999],[10.18111,46.632217],[10.119165,46.611382],[10.0525,46.543053],[10.050278,46.539993],[10.044722,46.507217],[10.044167,46.498055],[10.044443,46.453331],[10.044998,46.449165],[10.046665,46.445831],[10.049166,46.443054],[10.055555,46.438332],[10.067221,46.432495],[10.08861,46.424164],[10.092777,46.423332],[10.153889,46.390274],[10.177221,46.272499],[10.176388,46.268326],[10.172499,46.257217],[10.169722,46.25444],[10.140833,46.23333],[10.133888,46.228882],[10.129999,46.227219],[10.078609,46.220551],[10.072777,46.220276],[10.066666,46.221107],[10.063055,46.222771],[10.05722,46.22805],[9.994999,46.291664],[9.982498,46.331383],[9.981943,46.334717],[9.991388,46.346664],[9.99361,46.354439],[9.991943,46.357773],[9.984722,46.361938],[9.949999,46.379166],[9.943888,46.379997],[9.91111,46.383331],[9.904999,46.383049],[9.852777,46.36972],[9.813055,46.35833],[9.770555,46.342209],[9.714998,46.302773],[9.708332,46.298332],[9.696943,46.297218],[9.624722,46.291939],[9.581944,46.296944],[9.547222,46.30555],[9.5425,46.306938],[9.521387,46.319717],[9.458611,46.38472],[9.456665,46.387772],[9.450277,46.426666],[9.455,46.472496],[9.372776,46.5075],[9.360832,46.508606],[9.302221,46.504715],[9.296944,46.503883],[9.288887,46.500275],[9.281944,46.495827],[9.273611,46.487778],[9.249722,46.448051],[9.25,46.440277],[9.253054,46.433327],[9.256943,46.431389],[9.272778,46.428329],[9.280554,46.423332],[9.282221,46.419998],[9.296944,46.35305],[9.297499,46.348885],[9.293333,46.32666],[9.291943,46.323051],[9.276667,46.292496],[9.24341,46.23671],[9.238609,46.230553],[9.189444,46.186661],[9.180555,46.179161],[9.177221,46.176941],[9.158609,46.171661],[9.144439,46.168049],[9.132221,46.160271],[9.083332,46.121109],[9.035831,46.05722],[9.016666,46.022499],[8.998055,45.976944],[8.996666,45.973328],[9.0175,45.94416],[9.025,45.935829],[9.031944,45.931664],[9.066666,45.924164],[9.079443,45.915833],[9.081388,45.912498],[9.085554,45.901939],[9.085554,45.899162],[9.083887,45.895554],[9.036665,45.837776],[8.998333,45.829437],[8.951111,45.845276],[8.93611,45.868889],[8.936666,45.872772],[8.936388,45.876938],[8.926666,45.900833],[8.9,45.949715],[8.895555,45.955826],[8.826666,45.984161],[8.813055,45.988609],[8.816944,46.031662],[8.82361,46.03611],[8.849998,46.054443],[8.852499,46.056938],[8.853333,46.061104],[8.850555,46.072495],[8.846666,46.079163],[8.844166,46.08194],[8.835278,46.089439],[8.826111,46.096664],[8.818333,46.100555],[8.747221,46.121109],[8.728855,46.108589],[8.72361,46.105553],[8.714998,46.102493],[8.701111,46.10083],[8.691944,46.101387],[8.617777,46.120277],[8.613888,46.122215],[8.460554,46.23333],[8.445555,46.245827],[8.444443,46.248604],[8.434166,46.291107],[8.434999,46.295273],[8.443333,46.317215],[8.447498,46.323326],[8.458332,46.33416],[8.465832,46.36805],[8.46611,46.37722],[8.461666,46.444443],[8.459999,46.452217],[8.451666,46.459999],[8.447498,46.461937],[8.436388,46.463333],[8.430277,46.463051],[8.365276,46.453606],[8.357222,46.449997],[8.30611,46.424721],[8.302776,46.422493],[8.299999,46.419716],[8.139999,46.226105],[8.143888,46.219719],[8.158333,46.188889],[8.159443,46.180832],[8.158888,46.176666],[8.150276,46.153053],[8.148888,46.149437],[8.014721,46.013329],[8.00861,46.008331],[7.998055,46.00222],[7.973055,45.996941],[7.95,45.994164],[7.911111,45.994164],[7.902499,45.991104],[7.881944,45.977776],[7.876666,45.972496],[7.866388,45.948326],[7.855742,45.919052],[7.8483,45.918755],[7.783889,45.923607],[7.743333,45.93222],[7.709167,45.943329],[7.653055,45.979996],[7.647499,45.98111],[7.536666,45.981667],[7.458055,45.941109],[7.429722,45.929443],[7.393332,45.916107],[7.378888,45.914719],[7.338888,45.920555],[7.300278,45.923882],[7.295555,45.92305],[7.291111,45.921944],[7.230277,45.898048],[7.196944,45.882217],[7.188611,45.879166],[7.183055,45.879166],[7.117499,45.880829],[7.105,45.882217],[7.099444,45.883606],[7.09111,45.887497],[7.077777,45.896942],[7.062778,45.909164],[7.038054,45.931938],[7.030555,45.961937],[7.008611,45.996666],[7.005833,45.999443],[6.933055,46.055275],[6.873888,46.088051],[6.788055,46.14222],[6.783889,46.148048],[6.781111,46.162498],[6.780833,46.166107],[6.799999,46.378326],[6.807016,46.404228],[6.809444,46.415276],[6.808332,46.41861],[6.803055,46.427773],[6.800278,46.43055],[6.791389,46.434166],[6.737778,46.447495],[6.702777,46.45472],[6.633611,46.464165],[6.52,46.45916],[6.510278,46.457771],[6.491944,46.453049],[6.328333,46.406944],[6.31111,46.401382],[6.295555,46.394165],[6.246388,46.357773],[6.243333,46.354996],[6.236388,46.344719],[6.23,46.333885],[6.225555,46.322495],[6.228055,46.319717],[6.243747,46.31551],[6.271944,46.26194],[6.245555,46.21833],[6.189166,46.173332],[6.185833,46.17083],[6.152222,46.15361],[6.133611,46.149437],[6.12361,46.148048],[5.996388,46.146942],[5.967222,46.201942],[5.96611,46.205276],[5.966666,46.209442],[5.968055,46.212494],[5.981388,46.221939],[6.009166,46.233887],[6.03,46.241386],[6.060833,46.250549],[6.072499,46.249718],[6.0825,46.246666],[6.107778,46.253052],[6.117222,46.260551],[6.119166,46.264442],[6.118055,46.268051],[6.106109,46.297489],[6.115,46.30555],[6.120277,46.311943],[6.154166,46.363052],[6.15861,46.369995],[6.158333,46.373886],[6.157222,46.37722],[6.151667,46.386383],[6.148333,46.388611],[6.111111,46.409721],[6.071111,46.426384],[6.086944,46.44944],[6.135278,46.539719],[6.129722,46.583054],[6.127222,46.585831],[6.127777,46.589996],[6.129999,46.59333],[6.269166,46.682777],[6.346666,46.711388],[6.355,46.714439],[6.366666,46.720551],[6.434999,46.758049],[6.452777,46.774437],[6.4575,46.78083],[6.458611,46.785271],[6.446944,46.839439],[6.460278,46.895828],[6.528333,46.971664],[6.566388,46.979996],[6.620832,46.994438],[6.629722,46.997215],[6.639722,47.004166],[6.678333,47.034164],[6.699444,47.063889],[6.793333,47.130829],[6.849721,47.164989],[6.838888,47.16777],[6.8375,47.171104],[6.839722,47.173607],[6.971666,47.291939],[7.000833,47.364998],[6.980833,47.361664],[6.931389,47.358887],[6.88111,47.356941],[6.879999,47.360275],[6.88111,47.364716],[6.884444,47.372772],[6.990555,47.497215],[7.025,47.508049],[7.14642,47.499054],[7.178333,47.445831],[7.187499,47.442215],[7.241111,47.421944],[7.246944,47.42083],[7.251389,47.421944],[7.275555,47.432495],[7.308332,47.440277],[7.336944,47.439438],[7.343611,47.438606],[7.355897,47.434017],[7.358055,47.433609],[7.3825,47.432495],[7.388333,47.434166],[7.415555,47.445274],[7.433054,47.460548],[7.452777,47.469994],[7.496944,47.494995],[7.502222,47.500549],[7.497222,47.544441],[7.49861,47.54805],[7.501389,47.550552],[7.513055,47.556664],[7.521667,47.559715],[7.546665,47.565552],[7.550833,47.576385],[7.557221,47.581383],[7.567222,47.583611],[7.586944,47.584999],[7.588268,47.58448],[7.640555,47.603882],[7.674444,47.606384],[7.676944,47.603607],[7.671944,47.579437],[7.669999,47.576385],[7.666666,47.574165],[7.621111,47.561104],[7.656111,47.550552],[7.697223,47.543327]],[[8.710255,47.696808],[8.709721,47.70694],[8.708332,47.710548],[8.705,47.713051],[8.698889,47.713608],[8.675278,47.712494],[8.670555,47.711105],[8.670277,47.707497],[8.673298,47.701771],[8.675554,47.697495],[8.678595,47.693344],[8.710255,47.696808]]],"type":"Polygon"},"type":"Feature"}],"type":"FeatureCollection"} \ No newline at end of file diff --git a/jsonexamples/small/jsoniter_scala/che-3.geo.json b/jsonexamples/small/jsoniter_scala/che-3.geo.json new file mode 100644 index 000000000..a2185ac9e --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/che-3.geo.json @@ -0,0 +1 @@ +{"features":[{"geometry":{"coordinates":[[[7.697223,47.543327],[7.769722,47.553329],[7.906388,47.558052],[7.91361,47.553886],[7.918888,47.552773],[7.931944,47.552216],[8.033333,47.556107],[8.086666,47.560555],[8.092222,47.561661],[8.099722,47.565552],[8.102499,47.568329],[8.103888,47.571938],[8.108055,47.578331],[8.110832,47.581108],[8.185276,47.617218],[8.193333,47.620827],[8.198889,47.621666],[8.205555,47.621666],[8.240833,47.619438],[8.283333,47.613052],[8.288055,47.611664],[8.2925,47.605827],[8.390833,47.579994],[8.435833,47.573608],[8.464998,47.602493],[8.477499,47.612221],[8.51111,47.631104],[8.519999,47.634163],[8.531387,47.632774],[8.558332,47.623329],[8.562222,47.621384],[8.565554,47.614441],[8.56943,47.598537],[8.57642,47.59137],[8.591389,47.599442],[8.594721,47.601662],[8.629166,47.646111],[8.630833,47.649719],[8.629444,47.653328],[8.626944,47.656105],[8.620832,47.66111],[8.610254,47.667732],[8.580555,47.66861],[8.551388,47.668327],[8.545832,47.667496],[8.536943,47.664444],[8.528055,47.656944],[8.525833,47.65361],[8.518332,47.649719],[8.495277,47.647217],[8.475555,47.646942],[8.424721,47.669441],[8.413332,47.678329],[8.407221,47.699715],[8.406666,47.703888],[8.473331,47.767494],[8.47611,47.769997],[8.479443,47.772499],[8.559721,47.806389],[8.566111,47.806938],[8.60861,47.804161],[8.614721,47.803604],[8.661388,47.79805],[8.685555,47.786659],[8.734999,47.761383],[8.736944,47.758049],[8.736944,47.75444],[8.734999,47.713882],[8.734165,47.709717],[8.730698,47.705673],[8.729166,47.703888],[8.720222,47.696625],[8.745277,47.695],[8.761389,47.692215],[8.800133,47.681725],[8.774721,47.710274],[8.772778,47.713333],[8.772221,47.717499],[8.777777,47.722771],[8.799999,47.735275],[8.804165,47.737221],[8.808887,47.735832],[8.835278,47.718048],[8.855833,47.698883],[8.883299,47.654148],[8.892776,47.651382],[8.904999,47.650276],[8.917776,47.650551],[8.934166,47.653053],[8.947777,47.657494],[8.973331,47.667496],[8.985554,47.672775],[8.996666,47.679161],[9.004999,47.682495],[9.024166,47.687775],[9.0425,47.688889],[9.078333,47.685829],[9.086943,47.684998],[9.261095,47.662842],[9.478322,47.575851],[9.566724,47.540451],[9.557772,47.505783],[9.559721,47.499718],[9.562222,47.496666],[9.567499,47.491104],[9.590277,47.470276],[9.594166,47.46833],[9.611666,47.468887],[9.646944,47.460274],[9.65111,47.458328],[9.65361,47.455551],[9.673332,47.398605],[9.673054,47.394997],[9.669998,47.387772],[9.664999,47.381386],[9.650555,47.373055],[9.641666,47.369995],[9.631388,47.36805],[9.625832,47.367218],[9.624422,47.367252],[9.614443,47.367493],[9.605276,47.359993],[9.599722,47.354164],[9.539999,47.284164],[9.533569,47.274544],[9.502222,47.231384],[9.491388,47.215271],[9.485832,47.200272],[9.484165,47.192215],[9.484444,47.179718],[9.489721,47.16555],[9.49861,47.15361],[9.505554,47.139999],[9.511389,47.121666],[9.512777,47.109444],[9.512499,47.100273],[9.510277,47.092499],[9.474637,47.057457],[9.485277,47.061104],[9.506388,47.06472],[9.538055,47.07],[9.544722,47.07],[9.598635,47.063835],[9.6325,47.056664],[9.719444,47.050278],[9.870277,47.023598],[9.875555,47.022491],[9.891943,47.003876],[9.893055,47.000267],[9.889444,46.993324],[9.880833,46.98082],[9.875555,46.970543],[9.873333,46.962769],[9.87361,46.958603],[9.87611,46.941658],[9.879444,46.939156],[9.934999,46.912773],[10.058887,46.866386],[10.109444,46.850273],[10.122776,46.849716],[10.140276,46.851105],[10.141807,46.851341],[10.15111,46.852776],[10.170555,46.857216],[10.22361,46.874992],[10.231388,46.878883],[10.313332,46.933609],[10.323332,46.955551],[10.345833,46.986382],[10.353611,46.994995],[10.357222,46.997215],[10.385555,47.002777],[10.391109,47.003609],[10.400833,47.001106],[10.429998,46.984161],[10.487499,46.937775],[10.488913,46.934212],[10.471235,46.871353],[10.447498,46.763054],[10.470833,46.635826],[10.486387,46.619438],[10.486666,46.615273],[10.486111,46.594719],[10.485277,46.590553],[10.475555,46.562492],[10.471109,46.551666],[10.465277,46.546387],[10.457531,46.542503],[10.44972,46.539162],[10.337221,46.549438],[10.305555,46.553886],[10.301666,46.555832],[10.247499,46.583885],[10.245554,46.587219],[10.245277,46.59111],[10.246944,46.599442],[10.253054,46.613884],[10.254166,46.61805],[10.253611,46.622215],[10.241665,46.636665],[10.238609,46.638885],[10.233332,46.639999],[10.18111,46.632217],[10.119165,46.611382],[10.0525,46.543053],[10.050278,46.539993],[10.044722,46.507217],[10.044167,46.498055],[10.044443,46.453331],[10.044998,46.449165],[10.046665,46.445831],[10.049166,46.443054],[10.055555,46.438332],[10.067221,46.432495],[10.08861,46.424164],[10.092777,46.423332],[10.153889,46.390274],[10.177221,46.272499],[10.176388,46.268326],[10.172499,46.257217],[10.169722,46.25444],[10.140833,46.23333],[10.133888,46.228882],[10.129999,46.227219],[10.078609,46.220551],[10.072777,46.220276],[10.066666,46.221107],[10.063055,46.222771],[10.05722,46.22805],[9.994999,46.291664],[9.982498,46.331383],[9.981943,46.334717],[9.991388,46.346664],[9.99361,46.354439],[9.991943,46.357773],[9.984722,46.361938],[9.949999,46.379166],[9.943888,46.379997],[9.91111,46.383331],[9.904999,46.383049],[9.852777,46.36972],[9.813055,46.35833],[9.770555,46.342209],[9.714998,46.302773],[9.708332,46.298332],[9.696943,46.297218],[9.624722,46.291939],[9.581944,46.296944],[9.547222,46.30555],[9.5425,46.306938],[9.521387,46.319717],[9.458611,46.38472],[9.456665,46.387772],[9.450277,46.426666],[9.455,46.472496],[9.372776,46.5075],[9.360832,46.508606],[9.302221,46.504715],[9.296944,46.503883],[9.288887,46.500275],[9.281944,46.495827],[9.273611,46.487778],[9.249722,46.448051],[9.25,46.440277],[9.253054,46.433327],[9.256943,46.431389],[9.272778,46.428329],[9.280554,46.423332],[9.282221,46.419998],[9.296944,46.35305],[9.297499,46.348885],[9.293333,46.32666],[9.291943,46.323051],[9.276667,46.292496],[9.24341,46.23671],[9.238609,46.230553],[9.189444,46.186661],[9.180555,46.179161],[9.177221,46.176941],[9.158609,46.171661],[9.144439,46.168049],[9.132221,46.160271],[9.083332,46.121109],[9.035831,46.05722],[9.016666,46.022499],[8.998055,45.976944],[8.996666,45.973328],[9.0175,45.94416],[9.025,45.935829],[9.031944,45.931664],[9.066666,45.924164],[9.079443,45.915833],[9.081388,45.912498],[9.085554,45.901939],[9.085554,45.899162],[9.083887,45.895554],[9.036665,45.837776],[8.998333,45.829437],[8.951111,45.845276],[8.93611,45.868889],[8.936666,45.872772],[8.936388,45.876938],[8.926666,45.900833],[8.9,45.949715],[8.895555,45.955826],[8.826666,45.984161],[8.813055,45.988609],[8.816944,46.031662],[8.82361,46.03611],[8.849998,46.054443],[8.852499,46.056938],[8.853333,46.061104],[8.850555,46.072495],[8.846666,46.079163],[8.844166,46.08194],[8.835278,46.089439],[8.826111,46.096664],[8.818333,46.100555],[8.747221,46.121109],[8.728855,46.108589],[8.72361,46.105553],[8.714998,46.102493],[8.701111,46.10083],[8.691944,46.101387],[8.617777,46.120277],[8.613888,46.122215],[8.460554,46.23333],[8.445555,46.245827],[8.444443,46.248604],[8.434166,46.291107],[8.434999,46.295273],[8.443333,46.317215],[8.447498,46.323326],[8.458332,46.33416],[8.465832,46.36805],[8.46611,46.37722],[8.461666,46.444443],[8.459999,46.452217],[8.451666,46.459999],[8.447498,46.461937],[8.436388,46.463333],[8.430277,46.463051],[8.365276,46.453606],[8.357222,46.449997],[8.30611,46.424721],[8.302776,46.422493],[8.299999,46.419716],[8.139999,46.226105],[8.143888,46.219719],[8.158333,46.188889],[8.159443,46.180832],[8.158888,46.176666],[8.150276,46.153053],[8.148888,46.149437],[8.014721,46.013329],[8.00861,46.008331],[7.998055,46.00222],[7.973055,45.996941],[7.95,45.994164],[7.911111,45.994164],[7.902499,45.991104],[7.881944,45.977776],[7.876666,45.972496],[7.866388,45.948326],[7.855742,45.919052],[7.8483,45.918755],[7.783889,45.923607],[7.743333,45.93222],[7.709167,45.943329],[7.653055,45.979996],[7.647499,45.98111],[7.536666,45.981667],[7.458055,45.941109],[7.429722,45.929443],[7.393332,45.916107],[7.378888,45.914719],[7.338888,45.920555],[7.300278,45.923882],[7.295555,45.92305],[7.291111,45.921944],[7.230277,45.898048],[7.196944,45.882217],[7.188611,45.879166],[7.183055,45.879166],[7.117499,45.880829],[7.105,45.882217],[7.099444,45.883606],[7.09111,45.887497],[7.077777,45.896942],[7.062778,45.909164],[7.038054,45.931938],[7.030555,45.961937],[7.008611,45.996666],[7.005833,45.999443],[6.933055,46.055275],[6.873888,46.088051],[6.788055,46.14222],[6.783889,46.148048],[6.781111,46.162498],[6.780833,46.166107],[6.799999,46.378326],[6.807016,46.404228],[6.809444,46.415276],[6.808332,46.41861],[6.803055,46.427773],[6.800278,46.43055],[6.791389,46.434166],[6.737778,46.447495],[6.702777,46.45472],[6.633611,46.464165],[6.52,46.45916],[6.510278,46.457771],[6.491944,46.453049],[6.328333,46.406944],[6.31111,46.401382],[6.295555,46.394165],[6.246388,46.357773],[6.243333,46.354996],[6.236388,46.344719],[6.23,46.333885],[6.225555,46.322495],[6.228055,46.319717],[6.243747,46.31551],[6.271944,46.26194],[6.245555,46.21833],[6.189166,46.173332],[6.185833,46.17083],[6.152222,46.15361],[6.133611,46.149437],[6.12361,46.148048],[5.996388,46.146942],[5.967222,46.201942],[5.96611,46.205276],[5.966666,46.209442],[5.968055,46.212494],[5.981388,46.221939],[6.009166,46.233887],[6.03,46.241386],[6.060833,46.250549],[6.072499,46.249718],[6.0825,46.246666],[6.107778,46.253052],[6.117222,46.260551],[6.119166,46.264442],[6.118055,46.268051],[6.106109,46.297489],[6.115,46.30555],[6.120277,46.311943],[6.154166,46.363052],[6.15861,46.369995],[6.158333,46.373886],[6.157222,46.37722],[6.151667,46.386383],[6.148333,46.388611],[6.111111,46.409721],[6.071111,46.426384],[6.086944,46.44944],[6.135278,46.539719],[6.129722,46.583054],[6.127222,46.585831],[6.127777,46.589996],[6.129999,46.59333],[6.269166,46.682777],[6.346666,46.711388],[6.355,46.714439],[6.366666,46.720551],[6.434999,46.758049],[6.452777,46.774437],[6.4575,46.78083],[6.458611,46.785271],[6.446944,46.839439],[6.460278,46.895828],[6.528333,46.971664],[6.566388,46.979996],[6.620832,46.994438],[6.629722,46.997215],[6.639722,47.004166],[6.678333,47.034164],[6.699444,47.063889],[6.793333,47.130829],[6.849721,47.164989],[6.838888,47.16777],[6.8375,47.171104],[6.839722,47.173607],[6.971666,47.291939],[7.000833,47.364998],[6.980833,47.361664],[6.931389,47.358887],[6.88111,47.356941],[6.879999,47.360275],[6.88111,47.364716],[6.884444,47.372772],[6.990555,47.497215],[7.025,47.508049],[7.14642,47.499054],[7.178333,47.445831],[7.187499,47.442215],[7.241111,47.421944],[7.246944,47.42083],[7.251389,47.421944],[7.275555,47.432495],[7.308332,47.440277],[7.336944,47.439438],[7.343611,47.438606],[7.355897,47.434017],[7.358055,47.433609],[7.3825,47.432495],[7.388333,47.434166],[7.415555,47.445274],[7.433054,47.460548],[7.452777,47.469994],[7.496944,47.494995],[7.502222,47.500549],[7.497222,47.544441],[7.49861,47.54805],[7.501389,47.550552],[7.513055,47.556664],[7.521667,47.559715],[7.546665,47.565552],[7.550833,47.576385],[7.557221,47.581383],[7.567222,47.583611],[7.586944,47.584999],[7.588268,47.58448],[7.640555,47.603882],[7.674444,47.606384],[7.676944,47.603607],[7.671944,47.579437],[7.669999,47.576385],[7.666666,47.574165],[7.621111,47.561104],[7.656111,47.550552],[7.697223,47.543327]],[[8.710255,47.696808],[8.709721,47.70694],[8.708332,47.710548],[8.705,47.713051],[8.698889,47.713608],[8.675278,47.712494],[8.670555,47.711105],[8.670277,47.707497],[8.673298,47.701771],[8.675554,47.697495],[8.678595,47.693344],[8.710255,47.696808]]],"type":"Polygon"},"type":"Feature","properties":{"cca2":"ch"}}],"type":"FeatureCollection"} \ No newline at end of file diff --git a/jsonexamples/small/jsoniter_scala/google_maps_api_compact_response.json b/jsonexamples/small/jsoniter_scala/google_maps_api_compact_response.json new file mode 100644 index 000000000..9368d7346 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/google_maps_api_compact_response.json @@ -0,0 +1 @@ +{"destination_addresses":["New York, NY, USA","Los Angeles, CA, USA","Chicago, IL, USA","Houston, TX, USA","Phoenix, AZ, USA","Philadelphia, PA, USA","San Antonio, TX, USA","San Diego, CA, USA","Dallas, TX, USA","San Jose, CA, USA"],"origin_addresses":["New York, NY, USA","Los Angeles, CA, USA","Chicago, IL, USA","Houston, TX, USA","Phoenix, AZ, USA","Philadelphia, PA, USA","San Antonio, TX, USA","San Diego, CA, USA","Dallas, TX, USA","San Jose, CA, USA"],"rows":[{"elements":[{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"4,490 km","value":4489862},"duration":{"text":"1 day 16 hours","value":145589},"status":"OK"},{"distance":{"text":"1,270 km","value":1270445},"duration":{"text":"12 hours 10 mins","value":43773},"status":"OK"},{"distance":{"text":"2,621 km","value":2620658},"duration":{"text":"23 hours 55 mins","value":86073},"status":"OK"},{"distance":{"text":"3,876 km","value":3875676},"duration":{"text":"1 day 12 hours","value":129040},"status":"OK"},{"distance":{"text":"158 km","value":158242},"duration":{"text":"1 hour 55 mins","value":6885},"status":"OK"},{"distance":{"text":"2,935 km","value":2934803},"duration":{"text":"1 day 3 hours","value":96322},"status":"OK"},{"distance":{"text":"4,443 km","value":4443412},"duration":{"text":"1 day 17 hours","value":147406},"status":"OK"},{"distance":{"text":"2,492 km","value":2492302},"duration":{"text":"22 hours 53 mins","value":82371},"status":"OK"},{"distance":{"text":"4,728 km","value":4728294},"duration":{"text":"1 day 19 hours","value":154228},"status":"OK"}]},{"elements":[{"distance":{"text":"4,501 km","value":4501326},"duration":{"text":"1 day 16 hours","value":145282},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"3,244 km","value":3243718},"duration":{"text":"1 day 5 hours","value":103355},"status":"OK"},{"distance":{"text":"2,491 km","value":2491140},"duration":{"text":"21 hours 48 mins","value":78485},"status":"OK"},{"distance":{"text":"600 km","value":600314},"duration":{"text":"5 hours 29 mins","value":19738},"status":"OK"},{"distance":{"text":"4,368 km","value":4368094},"duration":{"text":"1 day 15 hours","value":141933},"status":"OK"},{"distance":{"text":"2,177 km","value":2176782},"duration":{"text":"19 hours 3 mins","value":68584},"status":"OK"},{"distance":{"text":"194 km","value":193646},"duration":{"text":"1 hour 57 mins","value":7042},"status":"OK"},{"distance":{"text":"2,312 km","value":2311734},"duration":{"text":"20 hours 25 mins","value":73503},"status":"OK"},{"distance":{"text":"547 km","value":546932},"duration":{"text":"5 hours 11 mins","value":18651},"status":"OK"}]},{"elements":[{"distance":{"text":"1,282 km","value":1281616},"duration":{"text":"12 hours 8 mins","value":43678},"status":"OK"},{"distance":{"text":"3,243 km","value":3242543},"duration":{"text":"1 day 5 hours","value":103349},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"1,742 km","value":1741571},"duration":{"text":"16 hours 11 mins","value":58255},"status":"OK"},{"distance":{"text":"2,821 km","value":2821137},"duration":{"text":"1 day 2 hours","value":92449},"status":"OK"},{"distance":{"text":"1,220 km","value":1219825},"duration":{"text":"11 hours 27 mins","value":41212},"status":"OK"},{"distance":{"text":"1,997 km","value":1996514},"duration":{"text":"18 hours 4 mins","value":65059},"status":"OK"},{"distance":{"text":"3,342 km","value":3341754},"duration":{"text":"1 day 6 hours","value":106407},"status":"OK"},{"distance":{"text":"1,490 km","value":1489726},"duration":{"text":"14 hours 2 mins","value":50540},"status":"OK"},{"distance":{"text":"3,481 km","value":3480975},"duration":{"text":"1 day 7 hours","value":111989},"status":"OK"}]},{"elements":[{"distance":{"text":"2,624 km","value":2623641},"duration":{"text":"23 hours 58 mins","value":86258},"status":"OK"},{"distance":{"text":"2,488 km","value":2488117},"duration":{"text":"21 hours 49 mins","value":78547},"status":"OK"},{"distance":{"text":"1,742 km","value":1741761},"duration":{"text":"16 hours 13 mins","value":58360},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"1,890 km","value":1889580},"duration":{"text":"16 hours 28 mins","value":59289},"status":"OK"},{"distance":{"text":"2,489 km","value":2489250},"duration":{"text":"22 hours 42 mins","value":81704},"status":"OK"},{"distance":{"text":"317 km","value":317168},"duration":{"text":"2 hours 55 mins","value":10481},"status":"OK"},{"distance":{"text":"2,363 km","value":2362972},"duration":{"text":"20 hours 36 mins","value":74158},"status":"OK"},{"distance":{"text":"385 km","value":384812},"duration":{"text":"3 hours 26 mins","value":12385},"status":"OK"},{"distance":{"text":"3,033 km","value":3033431},"duration":{"text":"1 day 3 hours","value":96387},"status":"OK"}]},{"elements":[{"distance":{"text":"3,885 km","value":3884549},"duration":{"text":"1 day 12 hours","value":128892},"status":"OK"},{"distance":{"text":"599 km","value":598636},"duration":{"text":"5 hours 32 mins","value":19898},"status":"OK"},{"distance":{"text":"2,829 km","value":2828868},"duration":{"text":"1 day 2 hours","value":92370},"status":"OK"},{"distance":{"text":"1,893 km","value":1892718},"duration":{"text":"16 hours 31 mins","value":59432},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"3,776 km","value":3776390},"duration":{"text":"1 day 11 hours","value":124555},"status":"OK"},{"distance":{"text":"1,578 km","value":1578360},"duration":{"text":"13 hours 46 mins","value":49532},"status":"OK"},{"distance":{"text":"571 km","value":570657},"duration":{"text":"5 hours 17 mins","value":19041},"status":"OK"},{"distance":{"text":"1,713 km","value":1713312},"duration":{"text":"15 hours 8 mins","value":54450},"status":"OK"},{"distance":{"text":"1,144 km","value":1143951},"duration":{"text":"10 hours 29 mins","value":37738},"status":"OK"}]},{"elements":[{"distance":{"text":"159 km","value":158684},"duration":{"text":"1 hour 53 mins","value":6753},"status":"OK"},{"distance":{"text":"4,363 km","value":4362509},"duration":{"text":"1 day 16 hours","value":142324},"status":"OK"},{"distance":{"text":"1,221 km","value":1220728},"duration":{"text":"11 hours 30 mins","value":41424},"status":"OK"},{"distance":{"text":"2,488 km","value":2487984},"duration":{"text":"22 hours 37 mins","value":81429},"status":"OK"},{"distance":{"text":"3,769 km","value":3769346},"duration":{"text":"1 day 11 hours","value":124752},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"2,802 km","value":2802129},"duration":{"text":"1 day 1 hour","value":91677},"status":"OK"},{"distance":{"text":"4,337 km","value":4337082},"duration":{"text":"1 day 16 hours","value":143118},"status":"OK"},{"distance":{"text":"2,360 km","value":2359628},"duration":{"text":"21 hours 35 mins","value":77726},"status":"OK"},{"distance":{"text":"4,679 km","value":4678576},"duration":{"text":"1 day 18 hours","value":151879},"status":"OK"}]},{"elements":[{"distance":{"text":"2,939 km","value":2938513},"duration":{"text":"1 day 3 hours","value":96477},"status":"OK"},{"distance":{"text":"2,178 km","value":2178117},"duration":{"text":"19 hours 6 mins","value":68773},"status":"OK"},{"distance":{"text":"1,996 km","value":1996414},"duration":{"text":"18 hours 3 mins","value":64959},"status":"OK"},{"distance":{"text":"318 km","value":317558},"duration":{"text":"2 hours 54 mins","value":10436},"status":"OK"},{"distance":{"text":"1,580 km","value":1579581},"duration":{"text":"13 hours 45 mins","value":49515},"status":"OK"},{"distance":{"text":"2,804 km","value":2804123},"duration":{"text":"1 day 2 hours","value":91923},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"2,053 km","value":2052972},"duration":{"text":"17 hours 53 mins","value":64384},"status":"OK"},{"distance":{"text":"440 km","value":440485},"duration":{"text":"4 hours 7 mins","value":14809},"status":"OK"},{"distance":{"text":"2,723 km","value":2723432},"duration":{"text":"1 day 0 hours","value":86613},"status":"OK"}]},{"elements":[{"distance":{"text":"4,450 km","value":4449804},"duration":{"text":"1 day 17 hours","value":147307},"status":"OK"},{"distance":{"text":"193 km","value":193391},"duration":{"text":"2 hours 1 min","value":7257},"status":"OK"},{"distance":{"text":"3,343 km","value":3342861},"duration":{"text":"1 day 6 hours","value":106618},"status":"OK"},{"distance":{"text":"2,365 km","value":2365196},"duration":{"text":"20 hours 39 mins","value":74342},"status":"OK"},{"distance":{"text":"571 km","value":571299},"duration":{"text":"5 hours 20 mins","value":19183},"status":"OK"},{"distance":{"text":"4,342 km","value":4341645},"duration":{"text":"1 day 16 hours","value":142971},"status":"OK"},{"distance":{"text":"2,051 km","value":2050838},"duration":{"text":"17 hours 54 mins","value":64441},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"2,186 km","value":2185790},"duration":{"text":"19 hours 16 mins","value":69360},"status":"OK"},{"distance":{"text":"740 km","value":740005},"duration":{"text":"7 hours 6 mins","value":25541},"status":"OK"}]},{"elements":[{"distance":{"text":"2,493 km","value":2492688},"duration":{"text":"22 hours 52 mins","value":82333},"status":"OK"},{"distance":{"text":"2,311 km","value":2310974},"duration":{"text":"20 hours 27 mins","value":73596},"status":"OK"},{"distance":{"text":"1,557 km","value":1556570},"duration":{"text":"14 hours 3 mins","value":50581},"status":"OK"},{"distance":{"text":"385 km","value":385037},"duration":{"text":"3 hours 28 mins","value":12495},"status":"OK"},{"distance":{"text":"1,712 km","value":1712438},"duration":{"text":"15 hours 6 mins","value":54339},"status":"OK"},{"distance":{"text":"2,358 km","value":2358297},"duration":{"text":"21 hours 36 mins","value":77780},"status":"OK"},{"distance":{"text":"441 km","value":440702},"duration":{"text":"4 hours 7 mins","value":14800},"status":"OK"},{"distance":{"text":"2,186 km","value":2185829},"duration":{"text":"19 hours 13 mins","value":69208},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"},{"distance":{"text":"2,716 km","value":2715614},"duration":{"text":"1 day 1 hour","value":89296},"status":"OK"}]},{"elements":[{"distance":{"text":"4,741 km","value":4740819},"duration":{"text":"1 day 19 hours","value":153881},"status":"OK"},{"distance":{"text":"549 km","value":549030},"duration":{"text":"5 hours 11 mins","value":18643},"status":"OK"},{"distance":{"text":"3,483 km","value":3483210},"duration":{"text":"1 day 7 hours","value":111954},"status":"OK"},{"distance":{"text":"3,037 km","value":3036563},"duration":{"text":"1 day 3 hours","value":96326},"status":"OK"},{"distance":{"text":"1,146 km","value":1145736},"duration":{"text":"10 hours 26 mins","value":37580},"status":"OK"},{"distance":{"text":"4,679 km","value":4679027},"duration":{"text":"1 day 18 hours","value":151414},"status":"OK"},{"distance":{"text":"2,722 km","value":2722204},"duration":{"text":"1 day 0 hours","value":86426},"status":"OK"},{"distance":{"text":"740 km","value":739719},"duration":{"text":"7 hours 2 mins","value":25298},"status":"OK"},{"distance":{"text":"2,717 km","value":2717009},"duration":{"text":"1 day 1 hour","value":89209},"status":"OK"},{"distance":{"text":"1 m","value":0},"duration":{"text":"1 min","value":0},"status":"OK"}]}],"status":"OK"} \ No newline at end of file diff --git a/jsonexamples/small/jsoniter_scala/google_maps_api_response.json b/jsonexamples/small/jsoniter_scala/google_maps_api_response.json new file mode 100644 index 000000000..304c63852 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/google_maps_api_response.json @@ -0,0 +1,1169 @@ +{ + "destination_addresses" : [ + "New York, NY, USA", + "Los Angeles, CA, USA", + "Chicago, IL, USA", + "Houston, TX, USA", + "Phoenix, AZ, USA", + "Philadelphia, PA, USA", + "San Antonio, TX, USA", + "San Diego, CA, USA", + "Dallas, TX, USA", + "San Jose, CA, USA" + ], + "origin_addresses" : [ + "New York, NY, USA", + "Los Angeles, CA, USA", + "Chicago, IL, USA", + "Houston, TX, USA", + "Phoenix, AZ, USA", + "Philadelphia, PA, USA", + "San Antonio, TX, USA", + "San Diego, CA, USA", + "Dallas, TX, USA", + "San Jose, CA, USA" + ], + "rows" : [ + { + "elements" : [ + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,490 km", + "value" : 4489862 + }, + "duration" : { + "text" : "1 day 16 hours", + "value" : 145589 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,270 km", + "value" : 1270445 + }, + "duration" : { + "text" : "12 hours 10 mins", + "value" : 43773 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,621 km", + "value" : 2620658 + }, + "duration" : { + "text" : "23 hours 55 mins", + "value" : 86073 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,876 km", + "value" : 3875676 + }, + "duration" : { + "text" : "1 day 12 hours", + "value" : 129040 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "158 km", + "value" : 158242 + }, + "duration" : { + "text" : "1 hour 55 mins", + "value" : 6885 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,935 km", + "value" : 2934803 + }, + "duration" : { + "text" : "1 day 3 hours", + "value" : 96322 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,443 km", + "value" : 4443412 + }, + "duration" : { + "text" : "1 day 17 hours", + "value" : 147406 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,492 km", + "value" : 2492302 + }, + "duration" : { + "text" : "22 hours 53 mins", + "value" : 82371 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,728 km", + "value" : 4728294 + }, + "duration" : { + "text" : "1 day 19 hours", + "value" : 154228 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "4,501 km", + "value" : 4501326 + }, + "duration" : { + "text" : "1 day 16 hours", + "value" : 145282 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,244 km", + "value" : 3243718 + }, + "duration" : { + "text" : "1 day 5 hours", + "value" : 103355 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,491 km", + "value" : 2491140 + }, + "duration" : { + "text" : "21 hours 48 mins", + "value" : 78485 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "600 km", + "value" : 600314 + }, + "duration" : { + "text" : "5 hours 29 mins", + "value" : 19738 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,368 km", + "value" : 4368094 + }, + "duration" : { + "text" : "1 day 15 hours", + "value" : 141933 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,177 km", + "value" : 2176782 + }, + "duration" : { + "text" : "19 hours 3 mins", + "value" : 68584 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "194 km", + "value" : 193646 + }, + "duration" : { + "text" : "1 hour 57 mins", + "value" : 7042 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,312 km", + "value" : 2311734 + }, + "duration" : { + "text" : "20 hours 25 mins", + "value" : 73503 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "547 km", + "value" : 546932 + }, + "duration" : { + "text" : "5 hours 11 mins", + "value" : 18651 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "1,282 km", + "value" : 1281616 + }, + "duration" : { + "text" : "12 hours 8 mins", + "value" : 43678 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,243 km", + "value" : 3242543 + }, + "duration" : { + "text" : "1 day 5 hours", + "value" : 103349 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,742 km", + "value" : 1741571 + }, + "duration" : { + "text" : "16 hours 11 mins", + "value" : 58255 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,821 km", + "value" : 2821137 + }, + "duration" : { + "text" : "1 day 2 hours", + "value" : 92449 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,220 km", + "value" : 1219825 + }, + "duration" : { + "text" : "11 hours 27 mins", + "value" : 41212 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,997 km", + "value" : 1996514 + }, + "duration" : { + "text" : "18 hours 4 mins", + "value" : 65059 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,342 km", + "value" : 3341754 + }, + "duration" : { + "text" : "1 day 6 hours", + "value" : 106407 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,490 km", + "value" : 1489726 + }, + "duration" : { + "text" : "14 hours 2 mins", + "value" : 50540 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,481 km", + "value" : 3480975 + }, + "duration" : { + "text" : "1 day 7 hours", + "value" : 111989 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "2,624 km", + "value" : 2623641 + }, + "duration" : { + "text" : "23 hours 58 mins", + "value" : 86258 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,488 km", + "value" : 2488117 + }, + "duration" : { + "text" : "21 hours 49 mins", + "value" : 78547 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,742 km", + "value" : 1741761 + }, + "duration" : { + "text" : "16 hours 13 mins", + "value" : 58360 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,890 km", + "value" : 1889580 + }, + "duration" : { + "text" : "16 hours 28 mins", + "value" : 59289 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,489 km", + "value" : 2489250 + }, + "duration" : { + "text" : "22 hours 42 mins", + "value" : 81704 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "317 km", + "value" : 317168 + }, + "duration" : { + "text" : "2 hours 55 mins", + "value" : 10481 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,363 km", + "value" : 2362972 + }, + "duration" : { + "text" : "20 hours 36 mins", + "value" : 74158 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "385 km", + "value" : 384812 + }, + "duration" : { + "text" : "3 hours 26 mins", + "value" : 12385 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,033 km", + "value" : 3033431 + }, + "duration" : { + "text" : "1 day 3 hours", + "value" : 96387 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "3,885 km", + "value" : 3884549 + }, + "duration" : { + "text" : "1 day 12 hours", + "value" : 128892 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "599 km", + "value" : 598636 + }, + "duration" : { + "text" : "5 hours 32 mins", + "value" : 19898 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,829 km", + "value" : 2828868 + }, + "duration" : { + "text" : "1 day 2 hours", + "value" : 92370 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,893 km", + "value" : 1892718 + }, + "duration" : { + "text" : "16 hours 31 mins", + "value" : 59432 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,776 km", + "value" : 3776390 + }, + "duration" : { + "text" : "1 day 11 hours", + "value" : 124555 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,578 km", + "value" : 1578360 + }, + "duration" : { + "text" : "13 hours 46 mins", + "value" : 49532 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "571 km", + "value" : 570657 + }, + "duration" : { + "text" : "5 hours 17 mins", + "value" : 19041 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,713 km", + "value" : 1713312 + }, + "duration" : { + "text" : "15 hours 8 mins", + "value" : 54450 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,144 km", + "value" : 1143951 + }, + "duration" : { + "text" : "10 hours 29 mins", + "value" : 37738 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "159 km", + "value" : 158684 + }, + "duration" : { + "text" : "1 hour 53 mins", + "value" : 6753 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,363 km", + "value" : 4362509 + }, + "duration" : { + "text" : "1 day 16 hours", + "value" : 142324 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,221 km", + "value" : 1220728 + }, + "duration" : { + "text" : "11 hours 30 mins", + "value" : 41424 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,488 km", + "value" : 2487984 + }, + "duration" : { + "text" : "22 hours 37 mins", + "value" : 81429 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,769 km", + "value" : 3769346 + }, + "duration" : { + "text" : "1 day 11 hours", + "value" : 124752 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,802 km", + "value" : 2802129 + }, + "duration" : { + "text" : "1 day 1 hour", + "value" : 91677 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,337 km", + "value" : 4337082 + }, + "duration" : { + "text" : "1 day 16 hours", + "value" : 143118 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,360 km", + "value" : 2359628 + }, + "duration" : { + "text" : "21 hours 35 mins", + "value" : 77726 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,679 km", + "value" : 4678576 + }, + "duration" : { + "text" : "1 day 18 hours", + "value" : 151879 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "2,939 km", + "value" : 2938513 + }, + "duration" : { + "text" : "1 day 3 hours", + "value" : 96477 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,178 km", + "value" : 2178117 + }, + "duration" : { + "text" : "19 hours 6 mins", + "value" : 68773 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,996 km", + "value" : 1996414 + }, + "duration" : { + "text" : "18 hours 3 mins", + "value" : 64959 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "318 km", + "value" : 317558 + }, + "duration" : { + "text" : "2 hours 54 mins", + "value" : 10436 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,580 km", + "value" : 1579581 + }, + "duration" : { + "text" : "13 hours 45 mins", + "value" : 49515 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,804 km", + "value" : 2804123 + }, + "duration" : { + "text" : "1 day 2 hours", + "value" : 91923 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,053 km", + "value" : 2052972 + }, + "duration" : { + "text" : "17 hours 53 mins", + "value" : 64384 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "440 km", + "value" : 440485 + }, + "duration" : { + "text" : "4 hours 7 mins", + "value" : 14809 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,723 km", + "value" : 2723432 + }, + "duration" : { + "text" : "1 day 0 hours", + "value" : 86613 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "4,450 km", + "value" : 4449804 + }, + "duration" : { + "text" : "1 day 17 hours", + "value" : 147307 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "193 km", + "value" : 193391 + }, + "duration" : { + "text" : "2 hours 1 min", + "value" : 7257 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,343 km", + "value" : 3342861 + }, + "duration" : { + "text" : "1 day 6 hours", + "value" : 106618 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,365 km", + "value" : 2365196 + }, + "duration" : { + "text" : "20 hours 39 mins", + "value" : 74342 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "571 km", + "value" : 571299 + }, + "duration" : { + "text" : "5 hours 20 mins", + "value" : 19183 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,342 km", + "value" : 4341645 + }, + "duration" : { + "text" : "1 day 16 hours", + "value" : 142971 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,051 km", + "value" : 2050838 + }, + "duration" : { + "text" : "17 hours 54 mins", + "value" : 64441 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,186 km", + "value" : 2185790 + }, + "duration" : { + "text" : "19 hours 16 mins", + "value" : 69360 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "740 km", + "value" : 740005 + }, + "duration" : { + "text" : "7 hours 6 mins", + "value" : 25541 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "2,493 km", + "value" : 2492688 + }, + "duration" : { + "text" : "22 hours 52 mins", + "value" : 82333 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,311 km", + "value" : 2310974 + }, + "duration" : { + "text" : "20 hours 27 mins", + "value" : 73596 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,557 km", + "value" : 1556570 + }, + "duration" : { + "text" : "14 hours 3 mins", + "value" : 50581 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "385 km", + "value" : 385037 + }, + "duration" : { + "text" : "3 hours 28 mins", + "value" : 12495 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,712 km", + "value" : 1712438 + }, + "duration" : { + "text" : "15 hours 6 mins", + "value" : 54339 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,358 km", + "value" : 2358297 + }, + "duration" : { + "text" : "21 hours 36 mins", + "value" : 77780 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "441 km", + "value" : 440702 + }, + "duration" : { + "text" : "4 hours 7 mins", + "value" : 14800 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,186 km", + "value" : 2185829 + }, + "duration" : { + "text" : "19 hours 13 mins", + "value" : 69208 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,716 km", + "value" : 2715614 + }, + "duration" : { + "text" : "1 day 1 hour", + "value" : 89296 + }, + "status" : "OK" + } + ] + }, + { + "elements" : [ + { + "distance" : { + "text" : "4,741 km", + "value" : 4740819 + }, + "duration" : { + "text" : "1 day 19 hours", + "value" : 153881 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "549 km", + "value" : 549030 + }, + "duration" : { + "text" : "5 hours 11 mins", + "value" : 18643 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,483 km", + "value" : 3483210 + }, + "duration" : { + "text" : "1 day 7 hours", + "value" : 111954 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "3,037 km", + "value" : 3036563 + }, + "duration" : { + "text" : "1 day 3 hours", + "value" : 96326 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1,146 km", + "value" : 1145736 + }, + "duration" : { + "text" : "10 hours 26 mins", + "value" : 37580 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "4,679 km", + "value" : 4679027 + }, + "duration" : { + "text" : "1 day 18 hours", + "value" : 151414 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,722 km", + "value" : 2722204 + }, + "duration" : { + "text" : "1 day 0 hours", + "value" : 86426 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "740 km", + "value" : 739719 + }, + "duration" : { + "text" : "7 hours 2 mins", + "value" : 25298 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "2,717 km", + "value" : 2717009 + }, + "duration" : { + "text" : "1 day 1 hour", + "value" : 89209 + }, + "status" : "OK" + }, + { + "distance" : { + "text" : "1 m", + "value" : 0 + }, + "duration" : { + "text" : "1 min", + "value" : 0 + }, + "status" : "OK" + } + ] + } + ], + "status" : "OK" +} \ No newline at end of file diff --git a/jsonexamples/small/jsoniter_scala/twitter_api_compact_response.json b/jsonexamples/small/jsoniter_scala/twitter_api_compact_response.json new file mode 100644 index 000000000..54c8150d3 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/twitter_api_compact_response.json @@ -0,0 +1 @@ +[{"created_at":"Thu Apr 06 15:28:43 +0000 2017","id":850007368138018817,"id_str":"850007368138018817","text":"RT @TwitterDev: 1/ Today we’re sharing our vision for the future of the Twitter API platform!\nhttps://t.co/XweGngmxlP","truncated":false,"entities":{"user_mentions":[{"screen_name":"TwitterDev","name":"TwitterDev","id":2244994945,"id_str":"2244994945","indices":[3,14]}],"urls":[{"url":"https://t.co/XweGngmxlP","expanded_url":"https://cards.twitter.com/cards/18ce53wgo4h/3xo1c","display_url":"cards.twitter.com/cards/18ce53wg…","indices":[94,117]}]},"source":"Twitter Web Client","user":{"id":6253282,"id_str":"6253282","name":"Twitter API","screen_name":"twitterapi","location":"San Francisco, CA","description":"The Real Twitter API. I tweet about API changes, service issues and happily answer questions about Twitter and our API. Don't get an answer? It's on my website.","url":"http://t.co/78pYTvWfJd","entities":{"url":{"urls":[{"url":"http://t.co/78pYTvWfJd","expanded_url":"https://dev.twitter.com","display_url":"dev.twitter.com","indices":[0,22]}]},"description":{}},"protected":false,"followers_count":6172353,"friends_count":46,"listed_count":13091,"created_at":"Wed May 23 06:01:13 +0000 2007","favourites_count":26,"utc_offset":-25200,"time_zone":"Pacific Time (US & Canada)","geo_enabled":true,"verified":true,"statuses_count":3583,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"C0DEED","profile_background_image_url":"http://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png","profile_background_image_url_https":"https://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png","profile_background_tile":true,"profile_image_url":"http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png","profile_image_url_https":"https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png","profile_banner_url":"https://pbs.twimg.com/profile_banners/6253282/1431474710","profile_link_color":"0084B4","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":false,"default_profile_image":false,"following":true,"follow_request_sent":false,"notifications":false,"translator_type":"regular"},"retweeted_status":{"created_at":"Thu Apr 06 15:24:15 +0000 2017","id":850006245121695744,"id_str":"850006245121695744","text":"1/ Today we’re sharing our vision for the future of the Twitter API platform!\nhttps://t.co/XweGngmxlP","truncated":false,"entities":{"urls":[{"url":"https://t.co/XweGngmxlP","expanded_url":"https://cards.twitter.com/cards/18ce53wgo4h/3xo1c","display_url":"cards.twitter.com/cards/18ce53wg…","indices":[78,101]}]},"source":"Twitter Web Client","user":{"id":2244994945,"id_str":"2244994945","name":"TwitterDev","screen_name":"TwitterDev","location":"Internet","description":"Your official source for Twitter Platform news, updates & events. Need technical help? Visit https://t.co/mGHnxZCxkt ⌨️ #TapIntoTwitter","url":"https://t.co/66w26cua1O","entities":{"url":{"urls":[{"url":"https://t.co/66w26cua1O","expanded_url":"https://dev.twitter.com/","display_url":"dev.twitter.com","indices":[0,23]}]},"description":{"urls":[{"url":"https://t.co/mGHnxZCxkt","expanded_url":"https://twittercommunity.com/","display_url":"twittercommunity.com","indices":[93,116]}]}},"protected":false,"followers_count":465425,"friends_count":1523,"listed_count":1168,"created_at":"Sat Dec 14 04:35:55 +0000 2013","favourites_count":2098,"utc_offset":-25200,"time_zone":"Pacific Time (US & Canada)","geo_enabled":true,"verified":true,"statuses_count":3031,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"FFFFFF","profile_background_image_url":"http://abs.twimg.com/images/themes/theme1/bg.png","profile_background_image_url_https":"https://abs.twimg.com/images/themes/theme1/bg.png","profile_background_tile":false,"profile_image_url":"http://pbs.twimg.com/profile_images/530814764687949824/npQQVkq8_normal.png","profile_image_url_https":"https://pbs.twimg.com/profile_images/530814764687949824/npQQVkq8_normal.png","profile_banner_url":"https://pbs.twimg.com/profile_banners/2244994945/1396995246","profile_link_color":"0084B4","profile_sidebar_border_color":"FFFFFF","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":false,"has_extended_profile":false,"default_profile":false,"default_profile_image":false,"following":true,"follow_request_sent":false,"notifications":false,"translator_type":"regular"},"is_quote_status":false,"retweet_count":284,"favorite_count":399,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"is_quote_status":false,"retweet_count":284,"favorite_count":0,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},{"created_at":"Mon Apr 03 16:09:50 +0000 2017","id":848930551989915648,"id_str":"848930551989915648","text":"RT @TwitterMktg: Starting today, businesses can request and share locations when engaging with people in Direct Messages. https://t.co/rpYn…","truncated":false,"entities":{"user_mentions":[{"screen_name":"TwitterMktg","name":"Twitter Marketing","id":357750891,"id_str":"357750891","indices":[3,15]}]},"source":"Twitter Web Client","user":{"id":6253282,"id_str":"6253282","name":"Twitter API","screen_name":"twitterapi","location":"San Francisco, CA","description":"The Real Twitter API. I tweet about API changes, service issues and happily answer questions about Twitter and our API. Don't get an answer? It's on my website.","url":"http://t.co/78pYTvWfJd","entities":{"url":{"urls":[{"url":"http://t.co/78pYTvWfJd","expanded_url":"https://dev.twitter.com","display_url":"dev.twitter.com","indices":[0,22]}]},"description":{}},"protected":false,"followers_count":6172353,"friends_count":46,"listed_count":13091,"created_at":"Wed May 23 06:01:13 +0000 2007","favourites_count":26,"utc_offset":-25200,"time_zone":"Pacific Time (US & Canada)","geo_enabled":true,"verified":true,"statuses_count":3583,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"C0DEED","profile_background_image_url":"http://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png","profile_background_image_url_https":"https://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png","profile_background_tile":true,"profile_image_url":"http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png","profile_image_url_https":"https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png","profile_banner_url":"https://pbs.twimg.com/profile_banners/6253282/1431474710","profile_link_color":"0084B4","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":false,"default_profile_image":false,"following":true,"follow_request_sent":false,"notifications":false,"translator_type":"regular"},"retweeted_status":{"created_at":"Mon Apr 03 16:05:05 +0000 2017","id":848929357519241216,"id_str":"848929357519241216","text":"Starting today, businesses can request and share locations when engaging with people in Direct Messages. https://t.co/rpYndqWfQw","truncated":false,"entities":{"urls":[{"url":"https://t.co/rpYndqWfQw","expanded_url":"https://cards.twitter.com/cards/5wzucr/3x700","display_url":"cards.twitter.com/cards/5wzucr/3…","indices":[105,128]}]},"source":"Twitter Ads","user":{"id":357750891,"id_str":"357750891","name":"Twitter Marketing","screen_name":"TwitterMktg","location":"Twitter HQ ","description":"Twitter’s place for marketers, agencies, and creative thinkers ⭐ Bringing you insights, news, updates, and inspiration. Visit @TwitterAdsHelp for Ads support.","url":"https://t.co/Tfo4moo92y","entities":{"url":{"urls":[{"url":"https://t.co/Tfo4moo92y","expanded_url":"https://marketing.twitter.com","display_url":"marketing.twitter.com","indices":[0,23]}]},"description":{}},"protected":false,"followers_count":924546,"friends_count":661,"listed_count":3893,"created_at":"Thu Aug 18 21:08:15 +0000 2011","favourites_count":1934,"utc_offset":-25200,"time_zone":"Pacific Time (US & Canada)","geo_enabled":true,"verified":true,"statuses_count":6329,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"C0DEED","profile_background_image_url":"http://pbs.twimg.com/profile_background_images/662767273/jvmxdpdrplhxcw8yvkv2.png","profile_background_image_url_https":"https://pbs.twimg.com/profile_background_images/662767273/jvmxdpdrplhxcw8yvkv2.png","profile_background_tile":true,"profile_image_url":"http://pbs.twimg.com/profile_images/800953549697888256/UlXXL5h5_normal.jpg","profile_image_url_https":"https://pbs.twimg.com/profile_images/800953549697888256/UlXXL5h5_normal.jpg","profile_banner_url":"https://pbs.twimg.com/profile_banners/357750891/1487188210","profile_link_color":"19CF86","profile_sidebar_border_color":"FFFFFF","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":false,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"is_quote_status":false,"retweet_count":111,"favorite_count":162,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"is_quote_status":false,"retweet_count":111,"favorite_count":0,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"}] \ No newline at end of file diff --git a/jsonexamples/small/jsoniter_scala/twitter_api_response.json b/jsonexamples/small/jsoniter_scala/twitter_api_response.json new file mode 100644 index 000000000..3196b55a3 --- /dev/null +++ b/jsonexamples/small/jsoniter_scala/twitter_api_response.json @@ -0,0 +1,428 @@ +[ + { + "created_at": "Thu Apr 06 15:28:43 +0000 2017", + "id": 850007368138018817, + "id_str": "850007368138018817", + "text": "RT @TwitterDev: 1/ Today we’re sharing our vision for the future of the Twitter API platform!\nhttps://t.co/XweGngmxlP", + "truncated": false, + "entities": { + "hashtags": [], + "symbols": [], + "user_mentions": [ + { + "screen_name": "TwitterDev", + "name": "TwitterDev", + "id": 2244994945, + "id_str": "2244994945", + "indices": [ + 3, + 14 + ] + } + ], + "urls": [ + { + "url": "https://t.co/XweGngmxlP", + "expanded_url": "https://cards.twitter.com/cards/18ce53wgo4h/3xo1c", + "display_url": "cards.twitter.com/cards/18ce53wg…", + "indices": [ + 94, + 117 + ] + } + ] + }, + "source": "Twitter Web Client", + "in_reply_to_status_id": null, + "in_reply_to_status_id_str": null, + "in_reply_to_user_id": null, + "in_reply_to_user_id_str": null, + "in_reply_to_screen_name": null, + "user": { + "id": 6253282, + "id_str": "6253282", + "name": "Twitter API", + "screen_name": "twitterapi", + "location": "San Francisco, CA", + "description": "The Real Twitter API. I tweet about API changes, service issues and happily answer questions about Twitter and our API. Don't get an answer? It's on my website.", + "url": "http://t.co/78pYTvWfJd", + "entities": { + "url": { + "urls": [ + { + "url": "http://t.co/78pYTvWfJd", + "expanded_url": "https://dev.twitter.com", + "display_url": "dev.twitter.com", + "indices": [ + 0, + 22 + ] + } + ] + }, + "description": { + "urls": [] + } + }, + "protected": false, + "followers_count": 6172353, + "friends_count": 46, + "listed_count": 13091, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "favourites_count": 26, + "utc_offset": -25200, + "time_zone": "Pacific Time (US & Canada)", + "geo_enabled": true, + "verified": true, + "statuses_count": 3583, + "lang": "en", + "contributors_enabled": false, + "is_translator": false, + "is_translation_enabled": false, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png", + "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png", + "profile_background_tile": true, + "profile_image_url": "http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png", + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1431474710", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": true, + "has_extended_profile": false, + "default_profile": false, + "default_profile_image": false, + "following": true, + "follow_request_sent": false, + "notifications": false, + "translator_type": "regular" + }, + "geo": null, + "coordinates": null, + "place": null, + "contributors": null, + "retweeted_status": { + "created_at": "Thu Apr 06 15:24:15 +0000 2017", + "id": 850006245121695744, + "id_str": "850006245121695744", + "text": "1/ Today we’re sharing our vision for the future of the Twitter API platform!\nhttps://t.co/XweGngmxlP", + "truncated": false, + "entities": { + "hashtags": [], + "symbols": [], + "user_mentions": [], + "urls": [ + { + "url": "https://t.co/XweGngmxlP", + "expanded_url": "https://cards.twitter.com/cards/18ce53wgo4h/3xo1c", + "display_url": "cards.twitter.com/cards/18ce53wg…", + "indices": [ + 78, + 101 + ] + } + ] + }, + "source": "Twitter Web Client", + "in_reply_to_status_id": null, + "in_reply_to_status_id_str": null, + "in_reply_to_user_id": null, + "in_reply_to_user_id_str": null, + "in_reply_to_screen_name": null, + "user": { + "id": 2244994945, + "id_str": "2244994945", + "name": "TwitterDev", + "screen_name": "TwitterDev", + "location": "Internet", + "description": "Your official source for Twitter Platform news, updates & events. Need technical help? Visit https://t.co/mGHnxZCxkt ⌨️ #TapIntoTwitter", + "url": "https://t.co/66w26cua1O", + "entities": { + "url": { + "urls": [ + { + "url": "https://t.co/66w26cua1O", + "expanded_url": "https://dev.twitter.com/", + "display_url": "dev.twitter.com", + "indices": [ + 0, + 23 + ] + } + ] + }, + "description": { + "urls": [ + { + "url": "https://t.co/mGHnxZCxkt", + "expanded_url": "https://twittercommunity.com/", + "display_url": "twittercommunity.com", + "indices": [ + 93, + 116 + ] + } + ] + } + }, + "protected": false, + "followers_count": 465425, + "friends_count": 1523, + "listed_count": 1168, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "favourites_count": 2098, + "utc_offset": -25200, + "time_zone": "Pacific Time (US & Canada)", + "geo_enabled": true, + "verified": true, + "statuses_count": 3031, + "lang": "en", + "contributors_enabled": false, + "is_translator": false, + "is_translation_enabled": false, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": false, + "profile_image_url": "http://pbs.twimg.com/profile_images/530814764687949824/npQQVkq8_normal.png", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/530814764687949824/npQQVkq8_normal.png", + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1396995246", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": false, + "has_extended_profile": false, + "default_profile": false, + "default_profile_image": false, + "following": true, + "follow_request_sent": false, + "notifications": false, + "translator_type": "regular" + }, + "geo": null, + "coordinates": null, + "place": null, + "contributors": null, + "is_quote_status": false, + "retweet_count": 284, + "favorite_count": 399, + "favorited": false, + "retweeted": false, + "possibly_sensitive": false, + "lang": "en" + }, + "is_quote_status": false, + "retweet_count": 284, + "favorite_count": 0, + "favorited": false, + "retweeted": false, + "possibly_sensitive": false, + "lang": "en" + }, + { + "created_at": "Mon Apr 03 16:09:50 +0000 2017", + "id": 848930551989915648, + "id_str": "848930551989915648", + "text": "RT @TwitterMktg: Starting today, businesses can request and share locations when engaging with people in Direct Messages. https://t.co/rpYn…", + "truncated": false, + "entities": { + "hashtags": [], + "symbols": [], + "user_mentions": [ + { + "screen_name": "TwitterMktg", + "name": "Twitter Marketing", + "id": 357750891, + "id_str": "357750891", + "indices": [ + 3, + 15 + ] + } + ], + "urls": [] + }, + "source": "Twitter Web Client", + "in_reply_to_status_id": null, + "in_reply_to_status_id_str": null, + "in_reply_to_user_id": null, + "in_reply_to_user_id_str": null, + "in_reply_to_screen_name": null, + "user": { + "id": 6253282, + "id_str": "6253282", + "name": "Twitter API", + "screen_name": "twitterapi", + "location": "San Francisco, CA", + "description": "The Real Twitter API. I tweet about API changes, service issues and happily answer questions about Twitter and our API. Don't get an answer? It's on my website.", + "url": "http://t.co/78pYTvWfJd", + "entities": { + "url": { + "urls": [ + { + "url": "http://t.co/78pYTvWfJd", + "expanded_url": "https://dev.twitter.com", + "display_url": "dev.twitter.com", + "indices": [ + 0, + 22 + ] + } + ] + }, + "description": { + "urls": [] + } + }, + "protected": false, + "followers_count": 6172353, + "friends_count": 46, + "listed_count": 13091, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "favourites_count": 26, + "utc_offset": -25200, + "time_zone": "Pacific Time (US & Canada)", + "geo_enabled": true, + "verified": true, + "statuses_count": 3583, + "lang": "en", + "contributors_enabled": false, + "is_translator": false, + "is_translation_enabled": false, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png", + "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/656927849/miyt9dpjz77sc0w3d4vj.png", + "profile_background_tile": true, + "profile_image_url": "http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png", + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1431474710", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": true, + "has_extended_profile": false, + "default_profile": false, + "default_profile_image": false, + "following": true, + "follow_request_sent": false, + "notifications": false, + "translator_type": "regular" + }, + "geo": null, + "coordinates": null, + "place": null, + "contributors": null, + "retweeted_status": { + "created_at": "Mon Apr 03 16:05:05 +0000 2017", + "id": 848929357519241216, + "id_str": "848929357519241216", + "text": "Starting today, businesses can request and share locations when engaging with people in Direct Messages. https://t.co/rpYndqWfQw", + "truncated": false, + "entities": { + "hashtags": [], + "symbols": [], + "user_mentions": [], + "urls": [ + { + "url": "https://t.co/rpYndqWfQw", + "expanded_url": "https://cards.twitter.com/cards/5wzucr/3x700", + "display_url": "cards.twitter.com/cards/5wzucr/3…", + "indices": [ + 105, + 128 + ] + } + ] + }, + "source": "Twitter Ads", + "in_reply_to_status_id": null, + "in_reply_to_status_id_str": null, + "in_reply_to_user_id": null, + "in_reply_to_user_id_str": null, + "in_reply_to_screen_name": null, + "user": { + "id": 357750891, + "id_str": "357750891", + "name": "Twitter Marketing", + "screen_name": "TwitterMktg", + "location": "Twitter HQ ", + "description": "Twitter’s place for marketers, agencies, and creative thinkers ⭐ Bringing you insights, news, updates, and inspiration. Visit @TwitterAdsHelp for Ads support.", + "url": "https://t.co/Tfo4moo92y", + "entities": { + "url": { + "urls": [ + { + "url": "https://t.co/Tfo4moo92y", + "expanded_url": "https://marketing.twitter.com", + "display_url": "marketing.twitter.com", + "indices": [ + 0, + 23 + ] + } + ] + }, + "description": { + "urls": [] + } + }, + "protected": false, + "followers_count": 924546, + "friends_count": 661, + "listed_count": 3893, + "created_at": "Thu Aug 18 21:08:15 +0000 2011", + "favourites_count": 1934, + "utc_offset": -25200, + "time_zone": "Pacific Time (US & Canada)", + "geo_enabled": true, + "verified": true, + "statuses_count": 6329, + "lang": "en", + "contributors_enabled": false, + "is_translator": false, + "is_translation_enabled": false, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/662767273/jvmxdpdrplhxcw8yvkv2.png", + "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/662767273/jvmxdpdrplhxcw8yvkv2.png", + "profile_background_tile": true, + "profile_image_url": "http://pbs.twimg.com/profile_images/800953549697888256/UlXXL5h5_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/800953549697888256/UlXXL5h5_normal.jpg", + "profile_banner_url": "https://pbs.twimg.com/profile_banners/357750891/1487188210", + "profile_link_color": "19CF86", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": true, + "has_extended_profile": false, + "default_profile": false, + "default_profile_image": false, + "following": false, + "follow_request_sent": false, + "notifications": false, + "translator_type": "none" + }, + "geo": null, + "coordinates": null, + "place": null, + "contributors": null, + "is_quote_status": false, + "retweet_count": 111, + "favorite_count": 162, + "favorited": false, + "retweeted": false, + "possibly_sensitive": false, + "lang": "en" + }, + "is_quote_status": false, + "retweet_count": 111, + "favorite_count": 0, + "favorited": false, + "retweeted": false, + "possibly_sensitive": false, + "lang": "en" + } +] \ No newline at end of file From 671527c3ba14de4495589e00c591f839b69d3f91 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Mon, 25 Feb 2019 14:10:06 -0500 Subject: [PATCH 3/8] Tracking https://github.com/lemire/simdjson/issues/71 --- jsonchecker/pass15.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 jsonchecker/pass15.json diff --git a/jsonchecker/pass15.json b/jsonchecker/pass15.json new file mode 100644 index 000000000..df3d19a3d --- /dev/null +++ b/jsonchecker/pass15.json @@ -0,0 +1 @@ +[-65.619720000000029] From 83ab72079fa6bd7fdb0204a3f202d5b9fce54f4c Mon Sep 17 00:00:00 2001 From: Egor Bogatov Date: Mon, 25 Feb 2019 22:17:43 +0300 Subject: [PATCH 4/8] Add link to C# version (#66) * fix noiline for MSVC * Add SimdJsonSharp link to README.md --- README.md | 3 ++- include/simdjson/common_defs.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4e339ce12..1f7d9bca8 100644 --- a/README.md +++ b/README.md @@ -363,9 +363,10 @@ make allparsingcompetition ./allparsingcompetition myfile.json ``` -## Python bindings +## Other programming languages - [pysimdjson](https://github.com/TkTech/pysimdjson): Python bindings for the simdjson project. +- [SimdJsonSharp](https://github.com/EgorBo/SimdJsonSharp): C# version for .NET Core diff --git a/include/simdjson/common_defs.h b/include/simdjson/common_defs.h index d1e8bf845..624debdca 100644 --- a/include/simdjson/common_defs.h +++ b/include/simdjson/common_defs.h @@ -27,7 +27,7 @@ #define really_inline inline -#define never_inline inline +#define never_inline __declspec(noinline) #define UNUSED #define WARN_UNUSED From 0dfcddcd1790be399cf20db4f2d355c2005d125e Mon Sep 17 00:00:00 2001 From: George Fotopoulos Date: Mon, 25 Feb 2019 21:33:01 +0200 Subject: [PATCH 5/8] Update CMakeLists.txt, .travis.yml and .drone.yml (#67) * Update CMakeLists.txt Adds support for CPack so that you can make .deb and .rpm packages. * Update CMakeLists.txt * Update .travis.yml * Update .travis.yml Speedup compiling * Update .travis.yml * Update .drone.yml Speedup compiling * Update .travis.yml Remove `-j2` flag because we probably run out of memory when running 2 jobs in parallel and that's why the compilation fails. --- .drone.yml | 4 ++-- .travis.yml | 5 ++--- CMakeLists.txt | 17 ++++++++++++++++- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index c22021c9f..60b45643d 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,5 +5,5 @@ steps: - name: test image: gcc:8 commands: - - make - - make quiettest + - make -j2 + - make quiettest -j2 diff --git a/.travis.yml b/.travis.yml index d616c919e..8476ea2ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -language: c++ +language: cpp sudo: false addons: apt: @@ -15,6 +15,5 @@ branches: script: - export CXX=g++-7 - export CC=gcc-7 - - make + - make - make test - diff --git a/CMakeLists.txt b/CMakeLists.txt index 28411715f..7ac7b24e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.8...3.13) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_MACOSX_RPATH OFF) @@ -34,3 +34,18 @@ add_subdirectory(src) add_subdirectory(tools) add_subdirectory(tests) add_subdirectory(benchmark) + +set(CPACK_PACKAGE_VENDOR "Daniel Lemire") +set(CPACK_PACKAGE_CONTACT "lemire@gmail.com") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Parsing gigabytes of JSON per second") +set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md") + +set(CPACK_RPM_PACKAGE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") + +set(CPACK_SOURCE_GENERATOR "TGZ;ZIP") + +include(CPack) From 7830b1be874d5004650a4a5eb5ff09ca33246420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Mu=C5=82a?= Date: Mon, 25 Feb 2019 20:36:45 +0100 Subject: [PATCH 6/8] Use nothrow (#65) * Use C++11 features * Use std::nothrow By default new throws std::bad_alloc, so no check code would be executed. --- include/simdjson/parsedjson.h | 12 ++++-------- src/parsedjson.cpp | 12 ++++++------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/include/simdjson/parsedjson.h b/include/simdjson/parsedjson.h index 407422ae6..a4457d77a 100644 --- a/include/simdjson/parsedjson.h +++ b/include/simdjson/parsedjson.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_PARSEDJSON_H #define SIMDJSON_PARSEDJSON_H -#include -#include -#include +#include +#include #include #include @@ -227,11 +226,8 @@ private: bool isvalid; private : - - // we don't want the default constructor to be called - ParsedJson(const ParsedJson & p); // we don't want the default constructor to be called - // we don't want the assignment to be called - ParsedJson & operator=(const ParsedJson&o); + ParsedJson(const ParsedJson & p) = delete; + ParsedJson & operator=(const ParsedJson&o) = delete; }; diff --git a/src/parsedjson.cpp b/src/parsedjson.cpp index 5efcfa110..9c44291c6 100644 --- a/src/parsedjson.cpp +++ b/src/parsedjson.cpp @@ -48,16 +48,16 @@ bool ParsedJson::allocateCapacity(size_t len, size_t maxdepth) { bytecapacity = 0; // will only set it to len after allocations are a success n_structural_indexes = 0; uint32_t max_structures = ROUNDUP_N(len, 64) + 2 + 7; - structural_indexes = new uint32_t[max_structures]; + structural_indexes = new (std::nothrow) uint32_t[max_structures]; size_t localtapecapacity = ROUNDUP_N(len, 64); size_t localstringcapacity = ROUNDUP_N(len + 32, 64); - string_buf = new uint8_t[localstringcapacity]; - tape = new uint64_t[localtapecapacity]; - containing_scope_offset = new uint32_t[maxdepth]; + string_buf = new (std::nothrow) uint8_t[localstringcapacity]; + tape = new (std::nothrow) uint64_t[localtapecapacity]; + containing_scope_offset = new (std::nothrow) uint32_t[maxdepth]; #ifdef SIMDJSON_USE_COMPUTED_GOTO - ret_address = new void *[maxdepth]; + ret_address = new (std::nothrow) void *[maxdepth]; #else - ret_address = new char[maxdepth]; + ret_address = new (std::nothrow) char[maxdepth]; #endif if ((string_buf == NULL) || (tape == NULL) || (containing_scope_offset == NULL) || (ret_address == NULL) || (structural_indexes == NULL)) { From d84136f445b3134868b9f3b97084e8cb453e9d7e Mon Sep 17 00:00:00 2001 From: Tyler Kennedy Date: Mon, 25 Feb 2019 14:38:06 -0500 Subject: [PATCH 7/8] Build with both clang-6.0 and gcc-7. (#60) --- .circleci/config.yml | 85 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 79 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 23fbb0958..b90ee390f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,9 +1,82 @@ version: 2 jobs: - build: - docker: - - image: gcc:8 + "gcc": + docker: + - image: ubuntu:18.04 + environment: + CXX: g++-7 steps: - - checkout - - run: make - - run: make quiettest + - checkout + + - run: apt-get update -qq + - run: > + apt-get install -y + build-essential + cmake + g++-7 + + - run: + name: Building (gcc) + command: make + + - run: + name: Running tests (gcc) + command: make quiettest + + - run: + name: Building (gcc, cmake) + command: | + mkdir build + cd build + cmake .. + make + + - run: + name: Running tests (gcc, cmake) + command: | + cd build + make test + + "clang": + docker: + - image: ubuntu:18.04 + environment: + CXX: clang++-6.0 + steps: + - checkout + + - run: apt-get update -qq + - run: > + apt-get install -y + build-essential + cmake + clang-6.0 + + - run: + name: Building (clang) + command: make + + - run: + name: Running tests (clang) + command: make quiettest + + - run: + name: Building (clang, cmake) + command: | + mkdir build + cd build + cmake .. + make + + - run: + name: Running tests (clang, cmake) + command: | + cd build + make test + +workflows: + version: 2 + build_and_test: + jobs: + - "clang" + - "gcc" From b7fed1ccf20c6ab9224bf223c1837eaf3dd0604e Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Mon, 25 Feb 2019 14:40:25 -0500 Subject: [PATCH 8/8] better documenting scope --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f7d9bca8..3cc7a01a4 100644 --- a/README.md +++ b/README.md @@ -223,7 +223,7 @@ To simplify the engineering, we make some assumptions. - We assume AVX2 support which is available in all recent mainstream x86 processors produced by AMD and Intel. No support for non-x86 processors is included though it can be done. We plan to support ARM processors (help is invited). - In cases of failure, we just report a failure without any indication as to the nature of the problem. (This can be easily improved without affecting performance.) - As allowed by the specification, we allow repeated keys within an object (other parsers like sajson do the same). -- Performance is optimized for JSON documents spanning at least a few kilobytes up to many megabytes: the performance issues with having to parse many tiny JSON documents or one truly enormous JSON document are different. +- Performance is optimized for JSON documents spanning at least a tens kilobytes up to many megabytes: the performance issues with having to parse many tiny JSON documents or one truly enormous JSON document are different. *We do not aim to provide a general-purpose JSON library.* A library like RapidJSON offers much more than just parsing, it helps you generate JSON and offers various other convenient functions. We merely parse the document.