# Initial version of my first package: A JSON Lines reader

**URL:** <https://discourse.julialang.org/t/initial-version-of-my-first-package-a-json-lines-reader/44552>\
**Category:** Package Announcements\
**Tags:** package\
**Created:** [August 8, 2020, 7:33am UTC](https://discourse.julialang.org/t/initial-version-of-my-first-package-a-json-lines-reader/44552 "2020-08-08T07:33:03Z")\
**Posts on this page:** 1\
**Showing post:** 30

<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 10, 2020, 4:40pm UTC](https://discourse.julialang.org/t/initial-version-of-my-first-package-a-json-lines-reader/44552/30 "2020-08-10T16:40:00Z")

</div>

So a bunch of updates:

- Using `JSON3.jl` for parsing each row
- Returning the vector of `JSON3.Object`s since that already works with the `Tables.jl` interface if the schema allows it. This also removed the `DataFrames` dependency.
- New keyword argument: `structtype` allows users to pass a `StructTypes.jl` struct to the `JSON3.read` function for each row (could be that the result still works for `Tables.jl` but not necessarily due to `undef` being returned of a value is not available in a row =\> any suggestions?)

Edit:  
Credit for the Tables.jl insight goes to @piever!

---

_[View the full topic](https://discourse.julialang.org/t/initial-version-of-my-first-package-a-json-lines-reader/44552)._
