Hi All,
I am using Proc JSON to output a SAS dataset into JSON format. The first block of JSON below is the default output and the second block is what I am trying to do.
Basic Proc JSON code:
proc json out="path\name.json" pretty nosastags;
export dataset;
run;
Default JSON output:
[
{
"category_id": 123,
"name": "name_example",
"description": "description_example",
"page_title": "page_example",
"meta_description": "meta_example",
"URL": "url_example"
}
]
What I need:
[
{
"category_id": 123,
"name": "name_example",
"description": "description_example",
"page_title": "page_example",
"meta_description": "meta_example",
"URL": {
"path": "url_example"
}
}
]I have tried various statements within Proc JSON (write values, arrays, objects, etc.) but that doesn't seem to get me what I need. What do I need to do to achieve the output I shared above?
Thanks in advance for your help!
Why not just write it yourself? JSON files are just text.
data _null_;
file "path\name.json" ;
set have end=eof;
if _n_=1 then put '[' / ' {' @;
else put ',{' @;
put
'"category_id":' category_id
/' ,"name":' name :$quote.
/' ,"description":' description :$quote.
/' ,"page_title":' page_title :$quote.
/' ,"meta_description":' meta_description :$quote.
/' ,"URL":{"path":' url :$quote. '}'
/' }'
;
if eof then put ']';
run;
Results
[
{"category_id":123
,"name":"name_example"
,"description":"description_example"
,"page_title":"page_example"
,"meta_description":"meta_example"
,"URL":{"path":"url_example" }
}
]
PS Why place continuation characters at the end of the lines where they are hard for humans to scan?
Why not just write it yourself? JSON files are just text.
data _null_;
file "path\name.json" ;
set have end=eof;
if _n_=1 then put '[' / ' {' @;
else put ',{' @;
put
'"category_id":' category_id
/' ,"name":' name :$quote.
/' ,"description":' description :$quote.
/' ,"page_title":' page_title :$quote.
/' ,"meta_description":' meta_description :$quote.
/' ,"URL":{"path":' url :$quote. '}'
/' }'
;
if eof then put ']';
run;
Results
[
{"category_id":123
,"name":"name_example"
,"description":"description_example"
,"page_title":"page_example"
,"meta_description":"meta_example"
,"URL":{"path":"url_example" }
}
]
PS Why place continuation characters at the end of the lines where they are hard for humans to scan?
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.