@@ -18,13 +18,13 @@ pip install streamson
1818>> > import json
1919>> > data = [b ' {"users": ["john","carl","bob"], "groups": ["admins", "staff"], "org": "university"}' ]
2020>> > matcher = streamson.SimpleMatcher(' {"users"}[]' ])
21- >> > extracted = streamson.extract_iter((e for e in data), matcher, json.loads )
22- >> > for path, parsed in extracted:
23- ... path, parsed
21+ >> > extracted = streamson.extract_iter((e for e in data), [( matcher, None )] )
22+ >> > for path, data in streamson.Output( extracted).generator() :
23+ ... path, data
2424...
25- (' {"users"}[0]' , ' john' )
26- (' {"users"}[1]' , ' carl' )
27- (' {"users"}[2]' , ' bob' )
25+ (' {"users"}[0]' , b ' " john" ' )
26+ (' {"users"}[1]' , b ' " carl" ' )
27+ (' {"users"}[2]' , b ' " bob" ' )
2828```
2929
3030### Select users and groups
@@ -33,15 +33,15 @@ pip install streamson
3333>> > import json
3434>> > data = [b ' {"users": ["john","carl","bob"], "groups": ["admins", "staff"], "org": "university"}' ]
3535>> > matcher = streamson.SimpleMatcher(' {"users"}[]' ]) | streamson.SimpleMatcher(' {"groups"}[]' ])
36- >> > extracted = streamson.extract_iter((e for e in data), matcher, json.loads )
37- >> > for path, parsed in extracted:
38- ... path, parsed
36+ >> > extracted = streamson.extract_iter((e for e in data), [( matcher, None )] )
37+ >> > for path, data in streamson.Output( extracted) :
38+ ... path, data
3939...
40- (' {"users"}[0]' , ' john' )
41- (' {"users"}[1]' , ' carl' )
42- (' {"users"}[2]' , ' bob' )
43- (' {"groups"}[0]' , ' admins' )
44- (' {"groups"}[1]' , ' staff' )
40+ (' {"users"}[0]' , b ' " john" ' )
41+ (' {"users"}[1]' , b ' " carl" ' )
42+ (' {"users"}[2]' , b ' " bob" ' )
43+ (' {"groups"}[0]' , b ' " admins" ' )
44+ (' {"groups"}[1]' , b ' " staff" ' )
4545```
4646
4747### Select only first level parts
@@ -50,13 +50,13 @@ pip install streamson
5050>> > import json
5151>> > data = [b ' {"users": ["john","carl","bob"], "groups": ["admins", "staff"], "org": "university"}' ]
5252>> > matcher = streamson.DepthMatcher(1 , 1 )
53- >> > extracted = streamson.extract_iter((e for e in data), matcher, json.loads )
54- >> > for path, parsed in extracted:
55- ... path, parsed
53+ >> > extracted = streamson.extract_iter((e for e in data), [( matcher, None )] )
54+ >> > for path, data in streamson.Output( extracted) :
55+ ... path, data
5656...
57- (' {"users"}' , [ ' john' , ' carl' , ' bob' ] )
58- (' {"groups"}' , [ ' admins' , ' staff' ] )
59- (' {"org"}' , ' university' )
57+ (' {"users"}' , b ' [" john", " carl", " bob"] ' )
58+ (' {"groups"}' , b ' [" admins", " staff"] ' )
59+ (' {"org"}' , b ' " university" ' )
6060```
6161
6262### Select second first level parts exclude first records
@@ -65,13 +65,13 @@ pip install streamson
6565>> > import json
6666>> > data = [b ' {"users": ["john","carl","bob"], "groups": ["admins", "staff"], "org": "university"}' ]
6767>> > matcher = streamson.DepthMatcher(2 , 2 ) & ~ streamson.SimpleMatcher(' {} [0]' )
68- >> > extracted = streamson.extract_iter((e for e in data), matcher, json.loads )
69- >> > for path, parsed in extracted:
70- ... path, parsed
68+ >> > extracted = streamson.extract_iter((e for e in data), [( matcher, None )] )
69+ >> > for path, data in streamson.Output( extracted) :
70+ ... path, data
7171...
72- (' {"users"}[1]' , ' carl' )
73- (' {"users"}[2]' , ' bob' )
74- (' {"groups"}[1]' , ' staff' )
72+ (' {"users"}[1]' , b ' " carl" ' )
73+ (' {"users"}[2]' , b ' " bob" ' )
74+ (' {"groups"}[1]' , b ' " staff" ' )
7575```
7676
7777
0 commit comments