# \[ANN\] JSONLines.jl ~1.0.0 and preview to 1.1.0~ 1.2.0 and preview to 1.3.0

**URL:** https://discourse.julialang.org/t/ann-jsonlines-jl-1-0-0-and-preview-to-1-1-0-1-2-0-and-preview-to-1-3-0/45058
**Category:** Package Announcements
**Tags:** package, announcement
**Created:** [August 16, 2020, 7:40pm UTC](https://discourse.julialang.org/t/ann-jsonlines-jl-1-0-0-and-preview-to-1-1-0-1-2-0-and-preview-to-1-3-0/45058 "2020-08-16T19:40:20Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![danielw2904](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielw2904/32/10890_2.png) [@danielw2904](https://discourse.julialang.org/u/danielw2904)
#### Post date: [August 16, 2020, 7:40pm UTC](https://discourse.julialang.org/t/ann-jsonlines-jl-1-0-0-and-preview-to-1-1-0-1-2-0-and-preview-to-1-3-0/45058/1 "2020-08-16T19:40:20Z")

</div>

First off all, thanks to everyone who has replied to my [initial post](https://discourse.julialang.org/t/initial-version-of-my-first-package-a-json-lines-reader/44552/38). The first version of [JSONLines.jl](https://github.com/danielw2904/JSONLines.jl) is now in the official repository. Since registering it I have been working on a lazy reader for e.g. larger than memory files ([check out the dev docs](https://danielw2904.github.io/JSONLines.jl/dev/)) which will be the main addition for the 1.1.0 release.  
Let me know what you think!

Cheers,  
Daniel

---

<div class="post-metadata">

### Author: ![danielw2904](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielw2904/32/10890_2.png) [@danielw2904](https://discourse.julialang.org/u/danielw2904)
#### Post date: [August 21, 2020, 11:19pm UTC](https://discourse.julialang.org/t/ann-jsonlines-jl-1-0-0-and-preview-to-1-1-0-1-2-0-and-preview-to-1-3-0/45058/2 "2020-08-21T23:19:20Z")

</div>

I have just released [JSONLines 1.2.0](https://github.com/danielw2904/JSONLines.jl/compare/v1.1.0...v1.2.0) and it’s all about StructTypes. `readlazy` can now be used to return an interator over rows that are not parsed during iteration (set `returnparsed = false`). This is useful a) if you want to parse rows with a different JSON parser and b) with the new function `select(jsonlines, vars...)` which will only read the specified variables and return a vector of `NamedTuple`s. This is done using `StructType`s in the background which specify the variables to be parsed. Similarly `readfile` accepts a `StructType` via the `structtype` kwarg. For convenience you can generate a `Mutable StructType` using the `@MStructType StructName var1 var2 ...` macro and then call `readfile("file.jsonl", structtype=StructName)` to read `var1, var2 ...` from the file.

Preview to 1.3.0:

In the [dev docs](https://danielw2904.github.io/JSONLines.jl/dev/#JSONLines.readarrays-Tuple%7BAny%7D) you can find a new function `readarrays(file)` which reads JSONLines files that have JSON arrays as rows. I plan to merge this into the `readfile` function with an argument specifying the rowtype but I need to clean up the code for that a bit.
