这是输入的JSON文件。它必须在SAS数据集中解析。
"results":
[
{
"acct_nbr": 1234,
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
}
}
,
{
"acct_nbr": 3456,
"firstName": "Sam",
"lastName": "Jones",
"age": 32,
"address": {
"streetAddress": "25 2nd Street",
"city": "New Jersy",
"state": "NJ",
"postalCode": "10081"
}
}
]
我想要这样的SAS数据集中仅Address字段的输出:
ACCT_NBR FIELD_NAME FIELD_VALUE
1234 streetAddress 21 2nd Street
1234 city New York
1234 state NY
1234 postalCode 10021
3456 streetAddress 25 2nd Street
3456 city New Jersy
3456 state NJ
3456 postalCode 10081
我尝试了单独的方式,但没有类似的输出。甚至尝试过从PDF进行扫描…但无法获得所需的输出…
这是我的代码…和输出…
LIBNAME src '/home/user/read_JSON';
filename data '/home/user/read_JSON/test2.json';
data src.testdata2;
infile data lrecl = 32000 truncover scanover;
input @'"streetAddress": "' streetAddress $255. @'"city": "' city $255. @'"state": "' state $2. @'"postalCode": "' postalCode $255.;
streetAddress = substr(streetAddress,1,index(streetAddress,'",')-2);
city = substr( city,1,index( city,'",')-2);
state = substr(state,1,index(state,'",')-2);
postalCode = substr(postalCode,1,index(postalCode,'",')-2);
run;
proc print data=src.testdata2;
RUN;
我 在.lst
文件中的 输出
The SAS System 09:44 Tuesday, January 14, 2014 1
street postal
Obs Address city state Code
1 21 2nd Stree New Yor NY 10021"
2 25 2nd Stree New Jers NJ 10081"
要使用仅SAS的解决方案来回答您的问题,您有两个问题:
SCAN
而不是substr
获取未逗号/引号部分acct_nbr
是数字,因此您需要从输入中删除最后的引号。这是正确的代码(我更改了目录,您需要将其改回):
filename data 'c:\temp\json.txt';
data testdata2;
infile data lrecl = 32000 truncover scanover;
input
@'"acct_nbr": ' acct_nbr $255.
@'"streetAddress": "' streetAddress $255.
@'"city": "' city $255.
@'"state": "' state $2.
@'"postalCode": "' postalCode $255.;
acct_nbr=scan(acct_nbr,1,',"');
streetAddress = scan(streetAddress,1,',"');
city = scan(city,1,',"');
state = scan(state,1,',"');
postalCode = scan(postalCode,1,',"');
run;
proc print data=testdata2;
RUN;
问题内容: 我无法理解如何使用Visual .NET将JSON字符串解析为c#对象。任务很简单,但是我仍然迷路…我得到了这个字符串: 这是我尝试进行消毒的代码: 我不知道在’<’和’>’之间放置什么,从网上阅读的内容中,我必须为其创建一个新的类。另外,如何获得输出?一个例子会有所帮助! 问题答案: 创建一个可以反序列化您的JSON的新类,例如:
问题内容: 我试图从JSON数组中获取每个JSON对象。我通过HTTP发布获得此数据。 我知道我的数据是什么样的: 我的示例代码和结构如下所示: 我不确定如何遍历JSON数组并获取JSON对象,然后仅使用JSON对象。 问题答案: 试试这个作为您的结构, 您的名称不正确,顶层名称也不正确。解码为a之后,您可以遍历切片以获取每个切片
我的理解是,如果SAS进程遇到错误 在通过触发一些简单的故意错误来测试上述变量的行为时,我注意到它仍然返回零: 我是不是误会了什么? 谢谢
问题内容: 我有JSON对象,如下所示: 我想在android中解析数据并将其存储到数据库中,但是我在Jsonobject中感到困惑,谢谢 问题答案: 以下是用于解析json字符串的代码段代码。请经历一下:
我是JSON新手,我真的很难用Java中的GSON解析这个布局 如果有帮助的话,是Redmine API为时间条目提供的输出。我正在努力理解一些基本的JSON概念,比如对象和数组,但我还没有找到一个布局类似的示例。 在使用我读过的教程时,我主要担心的是多个ID字段会混淆。 什么是最好的方式来分析这个问题而不束缚自己? 我不打算使用Gson,很乐意使用Jackson或内置库的解决方案。最终目标是An
问题内容: 我有一个非常大的JSON文件,格式如下: 它看起来像一个JSONArray。所有记录都写在同一行中。 您能帮我如何使用Java解析此文件。我想读取每个JSON对象并显示所有全名和ID。以下是我的尝试,但是我的代码无法正常工作: 问题答案: 好的,伙计们……解决了我的问题。我正在发布解决方案,以防有人再次遇到相同的问题,可以使用我的解决方案。我的解决方案部分是由Rahul Rabhadi