📖摘要
今天分享下 —— 更新json响应salesforce —— updating json response salesforce 的一些基本知识,欢迎关注!
🌂问题描述
{ “FirstName” : “Foo”,
“LastName” : “Bar”,
“Address” :
{ “city” : “Pune”, “state” : “Maharashtra”, “country” : “India” }
}
我的问题是从上述json格式中获取“城市”值,并将其更新为“美国”(例如)。
有什么可能的解决方案?我通过使用
response.getbody()
获得上面的json格式。
就像我正在使用
Map<string,object> objmap= (Map<string,object>)json.deserializeuntype(response.getbody());
system.debug(objmap.get('Address'));
因此,从现在开始,我必须更新city =“ USA”。
实际的json:
{
"size": 1,
"totalSize": 1,
"done": true,
"queryLocator": null,
"entityTypeName": "FlowDefinition",
"records": [{
"attributes": {
"type": "FlowDefinition",
"url": "/services/data/v42.0/tooling/sobjects/FlowDefinition/3007F000000LP9xQAG"
},
"FullName": "test_flow",
"DeveloperName": "test_flow",
"Metadata": {
"activeVersionNumber": null,
"description": null,
"masterLabel": null,
"urls": null
}
}]
} {
data: [{
"arrs": "memberKey,mobileNumber,drawAt,claimAt"
}]
}
如我们所见,字段
activeVersionNumber
为null
,因此我们需要将其设置为0或1。activeVersionNumber
的返回类型为object
。如果我使用Json2Apex
,则返回类型为Object
,但我需要在其中设置整数值。
🚀回答
您可以将JSON转换为等效的Apex类,唯一的缺点是有时我们不知道创建
Apex
类的JSON
结构。
相反,我们可以使用
deserializeuntype
。deserializeuntype
向我们返回Map keyValue
对,可以利用我们的优势,更改map
中的值并再次对其进行序列化。
String input = '{"size":1,"totalSize":1,"done":true,"queryLocator":null,"entityTypeName":"FlowDefinition","records":[{"attributes":{"type":"FlowDefinition","url":"/services/data/v42.0/tooling/sobjects/FlowDefinition/3007F000000LP9xQAG"},"FullName":"test_flow","DeveloperName":"test_flow","Metadata":{"activeVersionNumber":null,"description":null,"masterLabel":null,"urls":null}}]}';
Map<string,object> objmap= (Map<string,object>)json.deserializeUntyped(input );
List<Object> recordsMap =(List<Object>) objmap.get('records');
for(Object obj: recordsMap ){
Map<String,Object> mapOfrecord = ( Map<String,Object>)obj;
Map<String,Object> metaDataObject =( Map<String,Object>) mapOfrecord.get('Metadata');
metaDataObject.put('activeVersionNumber',1);
}
System.debug(JSON.serializePretty(objmap));
输出=>
{
"records" : [ {
"Metadata" : {
"urls" : null,
"masterLabel" : null,
"description" : null,
"activeVersionNumber" : 1
},
"DeveloperName" : "test_flow",
"FullName" : "test_flow",
"attributes" : {
"url" : "/services/data/v42.0/tooling/sobjects/FlowDefinition/3007F000000LP9xQAG",
"type" : "FlowDefinition"
}
} ],
"entityTypeName" : "FlowDefinition",
"queryLocator" : null,
"done" : true,
"totalSize" : 1,
"size" : 1
}
🎉最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97469.html