HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
capitalone
json-syntax
Python2019–2019
capitalone / json-syntax · Archived

json-syntax

Generates functions to convert Python classes to and from JSON friendly objects.

2Distinct people
2Mentions
0Explicit recommenders
13GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Generates functions to convert Python classes to and from JSON friendly objects.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2019-02-05 19:24:53 UTC to 2019-04-25 10:15:08 UTC. Weeks start Monday, UTC.

012019-02-04 00:00:00 UTC to 2019-02-11 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsFeb 42019-02-11 00:00:00 UTC to 2019-02-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-02-18 00:00:00 UTC to 2019-02-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-02-25 00:00:00 UTC to 2019-03-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-03-04 00:00:00 UTC to 2019-03-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-03-11 00:00:00 UTC to 2019-03-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 112019-03-18 00:00:00 UTC to 2019-03-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-03-25 00:00:00 UTC to 2019-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-04-01 00:00:00 UTC to 2019-04-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-04-08 00:00:00 UTC to 2019-04-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-04-15 00:00:00 UTC to 2019-04-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-04-22 00:00:00 UTC to 2019-04-29 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 22

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 42019-02-04 00:00:00 UTC2019-02-11 00:00:00 UTC110
Feb 112019-02-11 00:00:00 UTC2019-02-18 00:00:00 UTC000
Feb 182019-02-18 00:00:00 UTC2019-02-25 00:00:00 UTC000
Feb 252019-02-25 00:00:00 UTC2019-03-04 00:00:00 UTC000
Mar 42019-03-04 00:00:00 UTC2019-03-11 00:00:00 UTC000
Mar 112019-03-11 00:00:00 UTC2019-03-18 00:00:00 UTC000
Mar 182019-03-18 00:00:00 UTC2019-03-25 00:00:00 UTC000
Mar 252019-03-25 00:00:00 UTC2019-04-01 00:00:00 UTC000
Apr 12019-04-01 00:00:00 UTC2019-04-08 00:00:00 UTC000
Apr 82019-04-08 00:00:00 UTC2019-04-15 00:00:00 UTC000
Apr 152019-04-15 00:00:00 UTC2019-04-22 00:00:00 UTC000
Apr 222019-04-22 00:00:00 UTC2019-04-29 00:00:00 UTC101

What Hacker News says

2 sources
Congrats on the release! I'd recommend mentioning "fuzz testing" and "fuzzing" in the description to help people find it. Simple and Sample are very close in spelling. The sample makes sense, but a big use case for this would be testing APIs, and in that case, a JSON object is commonly modelled after the attributes of a class. So in that scenario, simply randomizing the keys would just blow up, which is not useful for testing. The kinds of errors you usually want to catch are small glitches. I needed to describe the patterns that JSON could take when converting to and from native types, and I did that here [1] so it might be a useful structure to consider. But, roughly, you have several common cases: 1. atoms 2. homogenous arrays (same type of all elements) 3. heterogeneous arrays (element X has type Y, bounded length) 4. homogenous objec
Read the rest
ts (same value type for all elements) 5. heterogeneous objects (key X has type Y, required + optional keys) 6. alternatives Implement those and you probably cover any structure someone could throw at it. You'll also want to make it easy to distinguish between required and optional keys. If you take a page from QuickCheck[2], it's nice to be able to implement a "reduce" feature. The idea is you produce something complex that breaks it, and simplify it to find a minimal test case. You might go both ways... generate a valid pattern and add crap to it to see how tolerant it is. Or possibly start with reasonable length strings and make it possible to make them longer and longer. [1]: https://github.com/UnitedIncome/json-syntax/blob/master/json... [2]: https://hackage.haskell.org/package/QuickCheck Versions of QuickCheck exist in many languages, e.g. https://github.com/HypothesisWorks/hypothesis-java
In Show HN: My first open-source project release – RandomJson

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.