之前遇到过需要创建一个动态表格,表格第一行显示记录的字段名称,于是google到如下代码,虽然好用,但不得甚解,有时间再研究一下。
以Account为例:
Account myContact = [SeLect Id, Name FROM Account LIMIT 1];
String contactJson = JSON.serialize(myContact);
JSONParser parser = JSON.createParser(contactJson);
Set<String> queriedFields = new Set<String>();
JSONToken token = parser.nextToken();
token = parser.nextToken();
while(parser.hasCurrentToken() ){
String text = parser.getText();
if(JSONToken.START_OBJECT == token){
parser.skipChildren();
token = parser.nextToken();
}
if('attributes' != text && JSONToken.FIELD_NAME == token)
queriedFields.add(parser.getText());
token = parser.nextToken();
}
for(String field : queriedFields){
System.debug(field);
}