From deeb507bfd23d4b547f49332ce216ff14db4308c Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 19 Jun 2013 00:24:08 +0100 Subject: Add jq.string_to_json --- jq.pyx | 6 ++++++ tests/jq_tests.py | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/jq.pyx b/jq.pyx index 55408b4..2fabf60 100644 --- a/jq.pyx +++ b/jq.pyx @@ -1,3 +1,5 @@ +import json + cdef extern from "jv.h": ctypedef struct jv: pass @@ -55,6 +57,10 @@ def string_to_string(char* program, char* input): return "".join(results) +def string_to_json(char* program, char* input): + return json.loads(string_to_string(program, input)) + + cdef process(jq_state *jq, jv value): cdef int jq_flags = 0 diff --git a/tests/jq_tests.py b/tests/jq_tests.py index 0bef31f..0442459 100644 --- a/tests/jq_tests.py +++ b/tests/jq_tests.py @@ -25,3 +25,11 @@ def output_elements_are_separated_by_newlines(): "1\n2\n3", jq.string_to_string(".[]", "[1,2,3]") ) + + +@istest +def string_to_json_parses_json_output(): + assert_equal( + [1, 2, 3], + jq.string_to_json("[.[]]", "[1,2,3]") + ) -- cgit v1.2.3