New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jsonfinder

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsonfinder

Easily handle JSON contained within strings. Includes a command-line tool to format JSON within the input, similar to the builtin json.tool.

  • 0.4.2
  • PyPI
  • Socket score

Maintainers
1

jsonfinder lets you find and extract JSON objects and arrays embedded within a string using a simple iterator. For example::

>>> s = 'jack [1,2,3] john'
>>> for start, end, obj in jsonfinder(s):
...     print start, ':', end
...     if obj is None:
...         print 'String:', repr(s[start:end])
...     else:
...         print 'List of length', len(obj)
0 : 5
String: 'jack '
5 : 12
List of length 3
12 : 17
String: ' john'
>>> assert len(s) == end

Two other convenience methods are also provided: has_json and only_json::

>>> has_json('stuff {"key": "value"} things')
True
>>> has_json('stuff only')
False
>>> only_json('stuff {"key": "value"} things')[2]
{u'key': u'value'}
>>> only_json('stuff only')
Traceback (most recent call last):
...
ValueError: No JSON object found in argument.
>>> only_json('{}{}')
Traceback (most recent call last):
...
ValueError: More than one JSON object found in the argument.

All the methods allow a custom JSONDecoder to be passed in for flexibility.

The library also includes a command-line tool to format JSON and filter out parts of the input based on whether JSON is present. It's like a more flexible version of python's built in json.tool, a grep -v for JSON, and more. For example::

$ cat cli_example.txt
This line contains no JSON and will be deleted by the --delete other-lines option.
On the other hand {"json":   ["is", "formatted"]  } and text surrounding it is preserved (but can also be removed if desired).
$ jsonfinder -i cli_example.txt --delete other-lines
On the other hand {
    "json": [
        "is",
        "formatted"
    ]
} and text surrounding it is preserved (but can also be removed if desired).
$ jsonfinder -i cli_example.txt --delete other-lines | jsonfinder --delete context --format tiny
{"json":["is","formatted"]}

See the --help option in the command-line for more details.

Installation is as simple as::

pip install jsonfinder

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc