This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
# Syntax: js2json.rb [PATHNAME] | |
# | |
# This ruby script can be used to evaluate a single javascript | |
# expression (possibly including comments, arithmetic operators, etc.) | |
# and print the result as a JSON string. This is useful for reading | |
# JSON-with-comments and javascript-style objects. | |
# | |
# The script will read from STDIN if no PATHNAME is specified. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (c) 2014-2015 Peter Koppstein (pkoppstein at gmail dot com) 2015.05.02 | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy | |
# of this software and associated documentation files (the "Software"), to deal | |
# in the Software without restriction, including without limitation the rights | |
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
# copies of the Software, and to permit persons to whom the Software is | |
# furnished to do so, subject to the following conditions: | |
# | |
# The above copyright notice and this permission notice shall be included in |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This gist defines a jq filter for combining two JSON objects by resolving conflicts | |
# in a way that is appropriate for mapping relational tables to objects. | |
# "combine" as defined here is both commutative and associative. | |
# Example: | |
# { "id": 123, "son": "Son1", "surname": "S"} | |
# | combine({ "id": 123, "son": "Son2", "surname": "S"}) | |
# produces: { "id": 123, "son": ["Son1",Son2], "surname": "S"} | |
# Combine two entities in an array-oriented fashion. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This gist defines a jq function that may be useful when migrating from a "relational" view of things to an "object" view. | |
# | |
# For example, suppose we have two JSON objects as follows, corresponding to a row in a relational table: | |
# | |
# { "id": 123, "surname": "S", "son": "Son1", } | |
# { "id": 123, "son": "Son2"} | |
# | |
# In this case, we want to merge the objects with the result: | |
# | |
# { "id": 123, "surname": "S", "son": ["Son1", "Son2"]} |
NewerOlder