Re: Anyone here exprerienced in JSON parser (assembler)
s/JSOPN/JSONP/ ? Cheers, Martin Sent from my iPad > On 29 Aug 2018, at 18:05, Tom Ross wrote: > > >> Is there a COBOL equivalent to JSON.stringify? > > Yes! It is the JSON GENERATE statement, available in 2016 in COBOL V6.1 > > >Awesome! I'm guessing it uses the same environment as the XML > >parser/generator? > > > Well, it runs in the COBOL environment, so if you are talking about > COBOL XML GENERATE and XML PARSE (COMPAT), then yes. If you are talking about > the XMLSS option COBOL XML PARSE, it runs in a mixture of COBOL and > 'z/OS XML System Services' parser environments. > > >The tricky part comes when the structure of the JSON is unknown and has=20 > >to be traversed by node. > > Well, JSOPN is for RESTful services, where you tell clients what the JSON > for a service request should look like. The client and the service have to > know a little about each other. Good luck with your project! > > Cheers, > TomR >> COBOL is the Language of the Future! << > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
>Tom, > >The program executes in key zero & supervisor mode. this is how it get >control. Not sure I can write it in Cobol. Well, you could WRITE it in COBOL, but you could not run it :-)- COBOL can only run in problem state. Cheers, TomR >> COBOL is the Language of the Future! << -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
>> Is there a COBOL equivalent to JSON.stringify? > Yes! It is the JSON GENERATE statement, available in 2016 in COBOL V6.1 >Awesome! I'm guessing it uses the same environment as the XML >parser/generator? Well, it runs in the COBOL environment, so if you are talking about COBOL XML GENERATE and XML PARSE (COMPAT), then yes. If you are talking about the XMLSS option COBOL XML PARSE, it runs in a mixture of COBOL and 'z/OS XML System Services' parser environments. >The tricky part comes when the structure of the JSON is unknown and has=20 >to be traversed by node. Well, JSOPN is for RESTful services, where you tell clients what the JSON for a service request should look like. The client and the service have to know a little about each other. Good luck with your project! Cheers, TomR >> COBOL is the Language of the Future! << -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 29/08/2018 12:28 AM, Tom Ross wrote: You can't argue with that! Almost as easy as JavaScript:) let obj =3D JSON.parse('{ "name":"John", "age":30, "city":"New York"}'); Is there a COBOL equivalent to JSON.stringify? Yes! It is the JSON GENERATE statement, available in 2016 in COBOL V6.1 Awesome! I'm guessing it uses the same environment as the XML parser/generator? The tricky part comes when the structure of the JSON is unknown and has to be traversed by node. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
>On 28/08/2018 1:11 AM, Tom Ross wrote: >>> On 22/08/2018 11:51 PM, Charles Mills wrote: >>> COBOL does not seem like a great choice either to me personally, but so= >me=3D folks, and especially some shops, are most comfortable with COBOL. >> The JSON PARSE statement in COBOL is the keasiest way to parse JSON ever! > > >You can't argue with that! Almost as easy as JavaScript :) > >let obj =3D JSON.parse('{ "name":"John", "age":30, "city":"New York"}'); > >Is there a COBOL equivalent to JSON.stringify? Yes! It is the JSON GENERATE statement, available in 2016 in COBOL V6.1 Cheers, TomR >> COBOL is the Language of the Future! << -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Tom, The program executes in key zero & supervisor mode. this is how it get control. Not sure I can write it in Cobol. On Mon, Aug 27, 2018 at 8:16 PM Tom Ross wrote: > >On 22/08/2018 11:51 PM, Charles Mills wrote: > >> *Personally* I agree, but different languages for different folks. Some > p= > >eople are very comfortable in assembler, especially with the structured > mac= > >ros. I think I can state with some confidence that if @EdJaffe need to > pars= > >e some JSON documents he would do it from assembler. > > > > >Maybe, but I'm not so sure. If that JSON is coming over the wire into a=20 > >Java web application like EJES Web then I would expect it to be=20 > >serialized to a byte array in the Java layer. That's how we do it. No=20 > >JSON ever reaches the assembler layer in our stack. > > > > > >> > >> COBOL does not seem like a great choice either to me personally, but > some= > >>folks, and especially some shops, are most comfortable with COBOL. > > The JSON PARSE statement in COBOL is the keasiest way to parse JSON ever! > You just point to a data item which contains your UTF-8 JSON text, and give > the name of a COBOL data structure (group) that you want the values from > the > JSON Name/Value pairs top go into, and let COBOL do all the work for you! > > You do have to be up to the 2017 COBOL compiler level, since that is when > we > delivered JSON PARSE, in COBOL V6.2. > > Cheers, > TomR >> COBOL is the Language of the Future! << > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring for Legacy **| * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 28/08/2018 1:11 AM, Tom Ross wrote: On 22/08/2018 11:51 PM, Charles Mills wrote: COBOL does not seem like a great choice either to me personally, but some= folks, and especially some shops, are most comfortable with COBOL. The JSON PARSE statement in COBOL is the keasiest way to parse JSON ever! You can't argue with that! Almost as easy as JavaScript :) let obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}'); Is there a COBOL equivalent to JSON.stringify? You just point to a data item which contains your UTF-8 JSON text, and give the name of a COBOL data structure (group) that you want the values from the JSON Name/Value pairs top go into, and let COBOL do all the work for you! You do have to be up to the 2017 COBOL compiler level, since that is when we delivered JSON PARSE, in COBOL V6.2. Cheers, TomR >> COBOL is the Language of the Future! << -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
>On 22/08/2018 11:51 PM, Charles Mills wrote: >> *Personally* I agree, but different languages for different folks. Some p= >eople are very comfortable in assembler, especially with the structured mac= >ros. I think I can state with some confidence that if @EdJaffe need to pars= >e some JSON documents he would do it from assembler. > >Maybe, but I'm not so sure. If that JSON is coming over the wire into a=20 >Java web application like EJES Web then I would expect it to be=20 >serialized to a byte array in the Java layer. That's how we do it. No=20 >JSON ever reaches the assembler layer in our stack. > > >> >> COBOL does not seem like a great choice either to me personally, but some= >>folks, and especially some shops, are most comfortable with COBOL. The JSON PARSE statement in COBOL is the keasiest way to parse JSON ever! You just point to a data item which contains your UTF-8 JSON text, and give the name of a COBOL data structure (group) that you want the values from the JSON Name/Value pairs top go into, and let COBOL do all the work for you! You do have to be up to the 2017 COBOL compiler level, since that is when we delivered JSON PARSE, in COBOL V6.2. Cheers, TomR >> COBOL is the Language of the Future! << -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Oh, that's easy to answer. I do Assembler as I don't speak the other languages... ITschak On Fri, Aug 24, 2018 at 3:33 PM Jerry Callen wrote: > So I can't help but wonder: what's the big picture here? WHY is it > necessary to parse JSON from assembler? There is presumably a good reason > that assembler is in the driver's seat here, instead of, say, C, C++, or > Python (all viable languages on z/OS). > > Yes, it's certainly possible to write recursive assembler code, and > possible to do it efficiently with a stack, but WHY? It would be easier in > Metal C (if the environment dictates that), and VERY easy from LE C/C++ or > Python. And for the bash scripters out there, there's a nifty little > command line tool (the "jq" command) that will parse JSON and deliver it in > a convenient form to a shell script. (Rocket has it ported to z/OS > internally, but not yet available for download.) > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring for Legacy **| * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
So I can't help but wonder: what's the big picture here? WHY is it necessary to parse JSON from assembler? There is presumably a good reason that assembler is in the driver's seat here, instead of, say, C, C++, or Python (all viable languages on z/OS). Yes, it's certainly possible to write recursive assembler code, and possible to do it efficiently with a stack, but WHY? It would be easier in Metal C (if the environment dictates that), and VERY easy from LE C/C++ or Python. And for the bash scripters out there, there's a nifty little command line tool (the "jq" command) that will parse JSON and deliver it in a convenient form to a shell script. (Rocket has it ported to z/OS internally, but not yet available for download.) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
> recursion which is difficult to do in assembler. Almost as difficult as breathing. The same programming techniques that you use to make a program reentrant and reshble also make it recursive. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of David Crayford Sent: Wednesday, August 22, 2018 6:39:57 PM To: IBM-MAIN@listserv.ua.edu Subject: Re: Anyone here exprerienced in JSON parser (assembler) On 23/08/2018 12:46 AM, Kirk Wolf wrote: > I've used the IBM JSON parser, from C. > I don't see why it would be ill suited for assembler more than anything > else :-) I'm doing a lot of JSON work right now and one task was to create a JSON to YAML convertor for swagger documents. The elegant solution was to use recursion which is difficult to do in assembler. It's difficult to do in COBOL too. I would be interested to know why you used the IBM JSON parser? One only has to browse the C sample in SYS1.SAMPLIB to conclude it's a inelegant beast with a bloated API. I can only assume that you were working on a project that precluded open source software? I've used several open source C/C++ JSON libraries on z/OS. They're easy to port (just tweaked to handle UTF8 escape sequences if you want to process EBCDIC). I've used YAJL [1] from C but much prefer C++ libraries with map like interfaces and STL compatible iterators. JsonCpp [2] is quite good but I prefer picojson [3] which also has a streaming API. [1] https://secure-web.cisco.com/1dQuLCYj_M7Fegc0i1UpcKTPdY2D-sIz6P26MwxQ_82kBvP115oBjZ5ELlPu4lT2i6WBqGdCYEbnLzCBiIMMRcNsj432zhVMvTcHIagv4pVBDr9N3erdaZjfseglUPwzXLdaMX6wUOThs6nhH-HI6qdtKeuNKeZB4B-awgLL6Ikfg-0ORE4kAW0XhwEBO_yec0FmkO3Q7hNm0DZDonNJJAyo34MSenTXubaLUXytQHo9ECGFj4Z0XueS0sSN64KKUvZqLsE40AMWLEBTSLE9gAJsLHd4mR1woM6DC9DLPYJ3cpD8j3iBaYgcHfeKY9YWBoUSTQxY0fSkTKMliy5RGb32wY_T3XmFDr_PyVmZBmwhf-O-ghRY8p7qcKXX-zTcti--UfsVFOynA_oU83c_7zKJkQKCCS9C5YTrGuvYll6i0RcRP4nTqYrt30MyyIYq1kgICzA55a2sr1XWVjjLndQ/https%3A%2F%2Fgithub.com%2Flloyd%2Fyajl [2] http://secure-web.cisco.com/1PDSVKjeBXdcIZdmyYgGqHu93IvqWONavw66fHj6NUQXztO7M8_6Kk-fQ4A3RZMVdFy8YTx8r1w5JCeRpLaU2w3BtEYmKZcNFyZ4QMpJRc7LOhlmUO2KL__qVt2TCDA6AntwP5jrW9EJbPwSxsyngEKIIHC2FzXgKlBOYHYm1nO9tsW5Hx3rmI01LZ45mtTK7uZfjzzVyRm2Itt-EUvJPJfd5iEHgLgWJR_8P7GzxphbYClRBMsMKVgXVrlfn_RjlNjLid83rK0KJam0NFbR9jTI8GheuTXOJQ_8Viq_ZtMNaiRDqqMBhTLbTz2kgu9P3LwhdDaIkn1S5oAo7N9y6zkAwq_2SKsX05owCRJDBFDsVJZTSSV4GzFQJroW0I11iJ_hI9zRm_hl5xnJA1u_P9kNNH7Kig8gpKar_kKkOwSsYACpi7Ejfjh81tVMyJFHXrd-SKp8-FiHWyu7SnG1mfQ/http%3A%2F%2Fopen-source-parsers.github.io%2Fjsoncpp-docs%2Fdoxygen%2Findex.html [3] https://secure-web.cisco.com/1lPL8IZPxRiZHhoU0KMRNlwao6onwga-6npaxG_q49gRIxQJF6xboseSJyTva5Z36K2fvzSqfexRJKrxSSBzAeHDB9dlkmIvPjRnTG8IkSOqX3KLQLf3PcCZDiA-aIXN4f_18w7Y2tJNdI7J2IAz7OzlJBXPbNGFuJtfDWJBacmcI3J0QLPFEl4y3ODDJHFlcAUmSBEAgEMJigpIwn3tDSv2mvh6nxnP5HyMg6PUcF2p9F-iwWQcG5imfvyVy7XVE_om2oD-2BKdatyG9GoXOs1QRFgvEINUaTyXpbeifSQWLnfwN461qo0p92mK4GXc4c5wBk3uUYTO3o6PGB9t4jy1rl-2ZBw2LsdIkzhy0xQcjDyxRjfyM2s4nQFZLHg4BmEg-X6RfdZ932zgZVm15P16OQeZibMRE6vbMe7AsbJwQtyMTtXp6hxE9BIP8eKd9vo-GsduDMn2174oQyrENMg/https%3A%2F%2Fgithub.com%2Fkazuho%2Fpicojson > On Wed, Aug 22, 2018 at 10:51 AM Charles Mills wrote: > >> *Personally* I agree, but different languages for different folks. Some >> people are very comfortable in assembler, especially with the structured >> macros. I think I can state with some confidence that if @EdJaffe need to >> parse some JSON documents he would do it from assembler. >> >> COBOL does not seem like a great choice either to me personally, but some >> folks, and especially some shops, are most comfortable with COBOL. >> >> Charles >> >> -Original Message- >> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On >> Behalf Of David Crayford >> >> IMO, assembler isn't the right language to be parsing complex JSON >> documents. I couldn't think of a worse >> language for the job. >> >> -- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >> > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Recursion in Assembler (was Re: Anyone here exprerienced in JSON parser (assembler))
I will post code later if I have the time. But Metal C's stack is about as simple as you can get, although it does work without a net. I don't like that at all: soiling yourself is not the way to handle stack overflow. However, my code merely checks for overflow and then abends if it does. If that happens, you specify a bigger stack, and run it again. There's no real problem allocating the biggest possible area for the stack (of course, leaving enough storage for other things) as the system doesn't do anything but reserve the address range on GETMAIN (it should go without saying you don't "clear" the memory or anything else to cause the memory to be created before it's needed). Just to SWAG it, a 4mb stack with an average 4kb frame would allow more than 1000 levels-deep calling. And 4mb is practically nothing. If memory is actually constrained, then a real overflow handler may be needed. That is more complicated; but not terribly so. sas -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 22/08/2018 11:51 PM, Charles Mills wrote: *Personally* I agree, but different languages for different folks. Some people are very comfortable in assembler, especially with the structured macros. I think I can state with some confidence that if @EdJaffe need to parse some JSON documents he would do it from assembler. Maybe, but I'm not so sure. If that JSON is coming over the wire into a Java web application like EJES Web then I would expect it to be serialized to a byte array in the Java layer. That's how we do it. No JSON ever reaches the assembler layer in our stack. COBOL does not seem like a great choice either to me personally, but some folks, and especially some shops, are most comfortable with COBOL. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of David Crayford IMO, assembler isn't the right language to be parsing complex JSON documents. I couldn't think of a worse language for the job. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 23/08/2018 7:44 AM, Steve Smith wrote: Recursion in assembler is hardly difficult. Knowing how to implement a stack is fundamental. Smart programmers not only do, but haven't even thought about it other than when architecture improvements require an upgrade. Why do t you Demi started to us how easy it is? Apologies for the gibberish! Mangled by my iPad spell checker :) I meant why don't you "demonstrate" how easy recursion is in assembler using a stack? It may be trivial to use a fixed sized stack and macros but it's not easy to do a full stack frame implementation that handles overflow like LE. We've all seen how Metal/C uses the NAB pointer for it's stack frames and that's not without it's issues if you don't keep track of how much storage you need. sas p.s. Aha! Spellchecker wants to replace Crayford with Crawford. I will have it whipped :-) On 8/22/2018 18:39, David Crayford wrote: On 23/08/2018 12:46 AM, Kirk Wolf wrote: I've used the IBM JSON parser, from C. I don't see why it would be ill suited for assembler more than anything else :-) I'm doing a lot of JSON work right now and one task was to create a JSON to YAML convertor for swagger documents. The elegant solution was to use recursion which is difficult to do in assembler. It's difficult to do in COBOL too. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Why do t you Demi started to us how easy it is? > On 23 Aug 2018, at 12:46 am, Kirk Wolf wrote: > > I've used the IBM JSON parser, from C. > I don't see why it would be ill suited for assembler more than anything > else :-) > >> On Wed, Aug 22, 2018 at 10:51 AM Charles Mills wrote: >> >> *Personally* I agree, but different languages for different folks. Some >> people are very comfortable in assembler, especially with the structured >> macros. I think I can state with some confidence that if @EdJaffe need to >> parse some JSON documents he would do it from assembler. >> >> COBOL does not seem like a great choice either to me personally, but some >> folks, and especially some shops, are most comfortable with COBOL. >> >> Charles >> >> -Original Message- >> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On >> Behalf Of David Crayford >> >> IMO, assembler isn't the right language to be parsing complex JSON >> documents. I couldn't think of a worse >> language for the job. >> >> -- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >> > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Recursion in assembler is hardly difficult. Knowing how to implement a stack is fundamental. Smart programmers not only do, but haven't even thought about it other than when architecture improvements require an upgrade. sas p.s. Aha! Spellchecker wants to replace Crayford with Crawford. I will have it whipped :-) On 8/22/2018 18:39, David Crayford wrote: On 23/08/2018 12:46 AM, Kirk Wolf wrote: I've used the IBM JSON parser, from C. I don't see why it would be ill suited for assembler more than anything else :-) I'm doing a lot of JSON work right now and one task was to create a JSON to YAML convertor for swagger documents. The elegant solution was to use recursion which is difficult to do in assembler. It's difficult to do in COBOL too. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 23/08/2018 12:46 AM, Kirk Wolf wrote: I've used the IBM JSON parser, from C. I don't see why it would be ill suited for assembler more than anything else :-) I'm doing a lot of JSON work right now and one task was to create a JSON to YAML convertor for swagger documents. The elegant solution was to use recursion which is difficult to do in assembler. It's difficult to do in COBOL too. I would be interested to know why you used the IBM JSON parser? One only has to browse the C sample in SYS1.SAMPLIB to conclude it's a inelegant beast with a bloated API. I can only assume that you were working on a project that precluded open source software? I've used several open source C/C++ JSON libraries on z/OS. They're easy to port (just tweaked to handle UTF8 escape sequences if you want to process EBCDIC). I've used YAJL [1] from C but much prefer C++ libraries with map like interfaces and STL compatible iterators. JsonCpp [2] is quite good but I prefer picojson [3] which also has a streaming API. [1] https://github.com/lloyd/yajl [2] http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html [3] https://github.com/kazuho/picojson On Wed, Aug 22, 2018 at 10:51 AM Charles Mills wrote: *Personally* I agree, but different languages for different folks. Some people are very comfortable in assembler, especially with the structured macros. I think I can state with some confidence that if @EdJaffe need to parse some JSON documents he would do it from assembler. COBOL does not seem like a great choice either to me personally, but some folks, and especially some shops, are most comfortable with COBOL. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of David Crayford IMO, assembler isn't the right language to be parsing complex JSON documents. I couldn't think of a worse language for the job. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
I've used the IBM JSON parser, from C. I don't see why it would be ill suited for assembler more than anything else :-) On Wed, Aug 22, 2018 at 10:51 AM Charles Mills wrote: > *Personally* I agree, but different languages for different folks. Some > people are very comfortable in assembler, especially with the structured > macros. I think I can state with some confidence that if @EdJaffe need to > parse some JSON documents he would do it from assembler. > > COBOL does not seem like a great choice either to me personally, but some > folks, and especially some shops, are most comfortable with COBOL. > > Charles > > -Original Message- > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On > Behalf Of David Crayford > > IMO, assembler isn't the right language to be parsing complex JSON > documents. I couldn't think of a worse > language for the job. > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
*Personally* I agree, but different languages for different folks. Some people are very comfortable in assembler, especially with the structured macros. I think I can state with some confidence that if @EdJaffe need to parse some JSON documents he would do it from assembler. COBOL does not seem like a great choice either to me personally, but some folks, and especially some shops, are most comfortable with COBOL. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of David Crayford IMO, assembler isn't the right language to be parsing complex JSON documents. I couldn't think of a worse language for the job. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
AWK? BASIC? RPG? -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of David Crayford Sent: Wednesday, August 22, 2018 2:47 AM To: IBM-MAIN@listserv.ua.edu Subject: Re: Anyone here exprerienced in JSON parser (assembler) On 22/08/2018 12:02 PM, ITschak Mugzach wrote: > I am reading IBM manuals for about 40 years, and it is hard to understand > the flow of the interface calls from the manual. I first wrote a rexx > program just to understand the flow. It also helped me to understand why > assembler calls are not executing well. I am not sure this is a proper tool > for parsing a complex, array structured JSON. IMO, assembler isn't the right language to be parsing complex JSON documents. I couldn't think of a worse language for the job. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Aha On Wed, Aug 22, 2018 at 10:03 AM David Crayford wrote: > On 22/08/2018 9:42 AM, Doug wrote: > > Galina, > > Yes, it would be worth providing sample code for batch assembler, CICS > assembler, CICS COBOL , CICS REXX , TSO REXX and ‘how to’ direction for > Liberty and eclipse. Sorry if I missed some, feel free to chime in. > > > I think you'll be living in hope if you expect that lot! CICS COBOL will > almost certainly use CICS JSON web services. Liberty and Eclipse are > Java environments so parsing JSON is as simple as using an annotation > based library like Jackson. > As for assembler, if somebody really wants to parse JSON in a 2GL they > should be smart enough to understand the documentation :) > > > > By sample code we mean fully functional examples not a small KC tribute > to a hint and click for KC to direct us to yet another tiny hint. > > Just my 2cents.. > > Most of us are swamped with day to day problems and don’t have the extra > band width to explore as we did in days gone by. > > Best Regards, > > Doug > > > > . > > > > On Aug 21, 2018, at 15:08, Galina Gorelik wrote: > > > > Hi ITschak, > > > > I’m part of the team that develops the z/OS JSON parser. From your > previous post, it appears you have resolved the issue you were experiencing. > > As you pointed out, we do not provider assembler samples, so you have to > connect the dots between the following three things: > > 1. IBM Knowledge Center, z/OS JSON parser: Description of > HWTJ_SEARCHTYPE_GLOBAL that distinguishes between the REXX and non-REXX > parameter content: for the first “name” that exactly matches the > SearchString for REXX or the string pointed to by the SearchStringAddr > parameter for non-REXX. > > 2. IBM Knowledge Center, z/OS JSON parser: Linkage considerations for > assembler language programming that specifies: Register 1 must contain the > address of a parameter list that is a list of consecutive words, each > containing the address of a parameter to be passed. > > 3. HWTJIASM macro: HWTJSRCH input parameters section where the > HWTJSRCHPARMLIST DSECT shows that these are all pointers to the parameters, > in the case of the SearchStringAddr parameter, the DS indicates that this > is a pointer to the address: HWTJSRCHSEARCHSTRINGADDRPTRDS A Address > of SearchStringAddr > > > > Is there additional information that can be added that would have helped > more? Or verbiage that should be altered? > > > > Galina > > > > -- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > -- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring for Legacy **| * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 22/08/2018 9:42 AM, Doug wrote: Galina, Yes, it would be worth providing sample code for batch assembler, CICS assembler, CICS COBOL , CICS REXX , TSO REXX and ‘how to’ direction for Liberty and eclipse. Sorry if I missed some, feel free to chime in. I think you'll be living in hope if you expect that lot! CICS COBOL will almost certainly use CICS JSON web services. Liberty and Eclipse are Java environments so parsing JSON is as simple as using an annotation based library like Jackson. As for assembler, if somebody really wants to parse JSON in a 2GL they should be smart enough to understand the documentation :) By sample code we mean fully functional examples not a small KC tribute to a hint and click for KC to direct us to yet another tiny hint. Just my 2cents.. Most of us are swamped with day to day problems and don’t have the extra band width to explore as we did in days gone by. Best Regards, Doug . On Aug 21, 2018, at 15:08, Galina Gorelik wrote: Hi ITschak, I’m part of the team that develops the z/OS JSON parser. From your previous post, it appears you have resolved the issue you were experiencing. As you pointed out, we do not provider assembler samples, so you have to connect the dots between the following three things: 1. IBM Knowledge Center, z/OS JSON parser: Description of HWTJ_SEARCHTYPE_GLOBAL that distinguishes between the REXX and non-REXX parameter content: for the first “name” that exactly matches the SearchString for REXX or the string pointed to by the SearchStringAddr parameter for non-REXX. 2. IBM Knowledge Center, z/OS JSON parser: Linkage considerations for assembler language programming that specifies: Register 1 must contain the address of a parameter list that is a list of consecutive words, each containing the address of a parameter to be passed. 3. HWTJIASM macro: HWTJSRCH input parameters section where the HWTJSRCHPARMLIST DSECT shows that these are all pointers to the parameters, in the case of the SearchStringAddr parameter, the DS indicates that this is a pointer to the address: HWTJSRCHSEARCHSTRINGADDRPTRDS A Address of SearchStringAddr Is there additional information that can be added that would have helped more? Or verbiage that should be altered? Galina -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
On 22/08/2018 12:02 PM, ITschak Mugzach wrote: I am reading IBM manuals for about 40 years, and it is hard to understand the flow of the interface calls from the manual. I first wrote a rexx program just to understand the flow. It also helped me to understand why assembler calls are not executing well. I am not sure this is a proper tool for parsing a complex, array structured JSON. IMO, assembler isn't the right language to be parsing complex JSON documents. I couldn't think of a worse language for the job. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Hello Galina, I am reading IBM manuals for about 40 years, and it is hard to understand the flow of the interface calls from the manual. I first wrote a rexx program just to understand the flow. It also helped me to understand why assembler calls are not executing well. I am not sure this is a proper tool for parsing a complex, array structured JSON. But,... I already mastered the service. a sample for the next users may help them. Best, ITschak On Wed, Aug 22, 2018 at 4:42 AM Doug wrote: > Galina, > Yes, it would be worth providing sample code for batch assembler, CICS > assembler, CICS COBOL , CICS REXX , TSO REXX and ‘how to’ direction for > Liberty and eclipse. Sorry if I missed some, feel free to chime in. > By sample code we mean fully functional examples not a small KC tribute to > a hint and click for KC to direct us to yet another tiny hint. > Just my 2cents.. > Most of us are swamped with day to day problems and don’t have the extra > band width to explore as we did in days gone by. > Best Regards, > Doug > > . > > On Aug 21, 2018, at 15:08, Galina Gorelik wrote: > > Hi ITschak, > > I’m part of the team that develops the z/OS JSON parser. From your > previous post, it appears you have resolved the issue you were experiencing. > As you pointed out, we do not provider assembler samples, so you have to > connect the dots between the following three things: > 1. IBM Knowledge Center, z/OS JSON parser: Description of > HWTJ_SEARCHTYPE_GLOBAL that distinguishes between the REXX and non-REXX > parameter content: for the first “name” that exactly matches the > SearchString for REXX or the string pointed to by the SearchStringAddr > parameter for non-REXX. > 2. IBM Knowledge Center, z/OS JSON parser: Linkage considerations for > assembler language programming that specifies: Register 1 must contain the > address of a parameter list that is a list of consecutive words, each > containing the address of a parameter to be passed. > 3. HWTJIASM macro: HWTJSRCH input parameters section where the > HWTJSRCHPARMLIST DSECT shows that these are all pointers to the parameters, > in the case of the SearchStringAddr parameter, the DS indicates that this > is a pointer to the address: HWTJSRCHSEARCHSTRINGADDRPTRDS A Address > of SearchStringAddr > > Is there additional information that can be added that would have helped > more? Or verbiage that should be altered? > > Galina > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring for Legacy **| * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Galina, Yes, it would be worth providing sample code for batch assembler, CICS assembler, CICS COBOL , CICS REXX , TSO REXX and ‘how to’ direction for Liberty and eclipse. Sorry if I missed some, feel free to chime in. By sample code we mean fully functional examples not a small KC tribute to a hint and click for KC to direct us to yet another tiny hint. Just my 2cents.. Most of us are swamped with day to day problems and don’t have the extra band width to explore as we did in days gone by. Best Regards, Doug . On Aug 21, 2018, at 15:08, Galina Gorelik wrote: Hi ITschak, I’m part of the team that develops the z/OS JSON parser. From your previous post, it appears you have resolved the issue you were experiencing. As you pointed out, we do not provider assembler samples, so you have to connect the dots between the following three things: 1. IBM Knowledge Center, z/OS JSON parser: Description of HWTJ_SEARCHTYPE_GLOBAL that distinguishes between the REXX and non-REXX parameter content: for the first “name” that exactly matches the SearchString for REXX or the string pointed to by the SearchStringAddr parameter for non-REXX. 2. IBM Knowledge Center, z/OS JSON parser: Linkage considerations for assembler language programming that specifies: Register 1 must contain the address of a parameter list that is a list of consecutive words, each containing the address of a parameter to be passed. 3. HWTJIASM macro: HWTJSRCH input parameters section where the HWTJSRCHPARMLIST DSECT shows that these are all pointers to the parameters, in the case of the SearchStringAddr parameter, the DS indicates that this is a pointer to the address: HWTJSRCHSEARCHSTRINGADDRPTRDS A Address of SearchStringAddr Is there additional information that can be added that would have helped more? Or verbiage that should be altered? Galina -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Hi ITschak, I’m part of the team that develops the z/OS JSON parser. From your previous post, it appears you have resolved the issue you were experiencing. As you pointed out, we do not provider assembler samples, so you have to connect the dots between the following three things: 1. IBM Knowledge Center, z/OS JSON parser: Description of HWTJ_SEARCHTYPE_GLOBAL that distinguishes between the REXX and non-REXX parameter content: for the first “name” that exactly matches the SearchString for REXX or the string pointed to by the SearchStringAddr parameter for non-REXX. 2. IBM Knowledge Center, z/OS JSON parser: Linkage considerations for assembler language programming that specifies: Register 1 must contain the address of a parameter list that is a list of consecutive words, each containing the address of a parameter to be passed. 3. HWTJIASM macro: HWTJSRCH input parameters section where the HWTJSRCHPARMLIST DSECT shows that these are all pointers to the parameters, in the case of the SearchStringAddr parameter, the DS indicates that this is a pointer to the address: HWTJSRCHSEARCHSTRINGADDRPTRDS A Address of SearchStringAddr Is there additional information that can be added that would have helped more? Or verbiage that should be altered? Galina -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
Hi Martin, Charles. Json Parser is a service loaded at IPl (much like subsystems does), and supplies callable routines to parse Json format strings. I solved my problem, but "gos save IBM" for unclear documentation. the rexx version was quit easy as it was based on a sample, but the assembler routine is more complex to understand. so the answer to my question, "is there any doctor on board", is yes. it migt be me ;-) ITschak On Sat, Aug 18, 2018 at 6:55 PM Martin Packer wrote: > > (I guess I’m not alone in this and) I’m scratching my head as to what > you’re talking about.) I know “JSON” and Assembler and Rexx but I have no > idea what the specific code you’re talking about is or where both flavours > came from. > > It’d probably help if you told us. > > Thanks, Martin > > Sent from my iPad > > > On 18 Aug 2018, at 10:38, ITschak Mugzach wrote: > > > > I have a program that prses Json text written in assembler, and same code > > in Rexx. The rexx code works fine. When I try to parse a Json array > entry, > > I get an error "objecthandle must be zero for globl search". however, my > > search is hwtz_searchtype_object... Again, the Rexx code which is one to > > one with the assembler runs perfect, but I want it in assembler. > > > > ITschak > > > > > > ITschak Mugzach > > *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring > > for Legacy **| * > > > > > > nbsp;*| * > > > > -- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > >Unless stated otherwise above: > IBM United Kingdom Limited - Registered in England and Wales with number > 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring for Legacy **| * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.ieac100/ieac1-cwe-json.htm ? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Martin Packer Sent: Saturday, August 18, 2018 10:55 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Anyone here exprerienced in JSON parser (assembler) (I guess I’m not alone in this and) I’m scratching my head as to what you’re talking about.) I know “JSON” and Assembler and Rexx but I have no idea what the specific code you’re talking about is or where both flavours came from. It’d probably help if you told us. Thanks, Martin Sent from my iPad > On 18 Aug 2018, at 10:38, ITschak Mugzach wrote: > > I have a program that prses Json text written in assembler, and same code > in Rexx. The rexx code works fine. When I try to parse a Json array entry, > I get an error "objecthandle must be zero for globl search". however, my > search is hwtz_searchtype_object... Again, the Rexx code which is one to > one with the assembler runs perfect, but I want it in assembler. > > ITschak > > > ITschak Mugzach > *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring > for Legacy **| * > > > nbsp;*| * > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Anyone here exprerienced in JSON parser (assembler)
(I guess I’m not alone in this and) I’m scratching my head as to what you’re talking about.) I know “JSON” and Assembler and Rexx but I have no idea what the specific code you’re talking about is or where both flavours came from. It’d probably help if you told us. Thanks, Martin Sent from my iPad > On 18 Aug 2018, at 10:38, ITschak Mugzach wrote: > > I have a program that prses Json text written in assembler, and same code > in Rexx. The rexx code works fine. When I try to parse a Json array entry, > I get an error "objecthandle must be zero for globl search". however, my > search is hwtz_searchtype_object... Again, the Rexx code which is one to > one with the assembler runs perfect, but I want it in assembler. > > ITschak > > > ITschak Mugzach > *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring > for Legacy **| * > > > nbsp;*| * > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Anyone here exprerienced in JSON parser (assembler)
I have a program that prses Json text written in assembler, and same code in Rexx. The rexx code works fine. When I try to parse a Json array entry, I get an error "objecthandle must be zero for globl search". however, my search is hwtz_searchtype_object... Again, the Rexx code which is one to one with the assembler runs perfect, but I want it in assembler. ITschak ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring for Legacy **| * nbsp;*| * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN