summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jq.pyx6
-rw-r--r--tests/jq_tests.py8
2 files changed, 14 insertions, 0 deletions
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]")
+ )