我是R的新手,已经过去了至少一天试图解决这个问题。
我一直在尝试从data.table创建json,我希望将其中一个变量的值用作键,并将其值作为组合其他变量的列表。我无法克服的障碍是使用变量的值作为关键。
数据如下:
x<-data.table(ipUnit=c("192.168.2.254/1","192.168.2.5/1"), ip=c("192.168.2.254","192.168.2.5"), unit=c("1","1"))
ipUnit ip unit
1: 192.168.2.254/1 192.168.2.254 1
2: 192.168.2.5/1 192.168.2.5 1
JSON I'd like to eventually have:
IP_UNIT_ID" : [
"192.168.2.254/1" : {
"IP_ADDR" : "192.168.2.254",
"UNIT_ID" : "1 "
},
"192.168.2.5/1" : {
"IP_ADDR" : "192.168.2.5",
"UNIT_ID" : "1 "
}
]
我试过了:
e=parse(text="list(IP_UNIT_ID(list(ipUnit=list(\"IP_ADDR\"=ip,\"UNIT_ID\"=unit) )))")
toJSON(x[,eval(e)])
给出:
[{"IP_UNIT_ID":{"IP_ADDR":["192.168.2.254","192.168.2.5"],"UNIT_ID":["1","1"]}}]
显然不太正确。
最后的尝试是使用散列包,因为这极大地简化了创建我喜欢的结构,但是,它似乎不是rjson或jsonlite中的受支持对象。我收到的错误如下:
Erreur:没有S4类的方法:hash
答案 0 :(得分:0)
恕我直言,有时手工操作更容易 - 这意味着在这种情况下:使用- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField == self.pinTextField) {
NSString *currentText = textField.text;
NSString *newText = [currentText stringByReplacingCharactersInRange:range withString:string];
textField.text = newText;
return NO;
}
return YES;
}
构建json:
sprintf