• 71、salesforce的JSON方法


    List<Merchandise__c> merchandise = [select Id,Name,Price__c,Quantity__c from Merchandise__c limit 1];
    String goodsToJson = JSON.serialize(merchandise);//通过serialize方法序列化成JSON内容
    String goodsToJsonPretty = JSON.serializePretty(merchandise);//通过serializePretty方法序列化成JSON内容,以精美的输出格式输出
    
    //接上面Serialize的Sample,用于将JSON内容反序列化成Apex的Object对象
    List<Merchandise__c> merchandise2 = (List<Merchandise__c>)JSON.deserialize(goodsToJson, List<Merchandise__c>.class);
    for(Merchandise__c item : merchandise2){
        if(item.Name != null){
            System.debug(item.Name);
        }
    }
    
    //此方法用于将指定的JSON内容反序列化成基本数据类型的集合,如果不是基本数据类型,则在反序列化时报异常
    String jsonList = '[{"2":"object2","1":"object1"}]';
    List<Object> listJson = (List<Object>)JSON.deserializeUntyped(jsonList);
    for(Object listItem : listJson){
        if(listItem instanceof Map<String,Object>){
            System.debug('通过json 的反序列化(Map)' + (Map<String,Object>)listItem);
        }else{
            System.debug('通过json 的反序列化' + listItem);
        }
    }
    
    //此类包含的方法用来通过标准的JSON编码将object对象序列化成JSON内容,方法主要作用为将各种类型的值写入
    //JSON content中
    JSONGenerator jsonGenerator = JSON.createGenerator(true);
    jsonGenerator.writeStartArray();
    jsonGenerator.writeStartObject();
    jsonGenerator.writeBooleanField('isStatus', true);
    jsonGenerator.writeEndObject();
    jsonGenerator.writeEndArray();
    jsonGenerator.close();
    System.debug(jsonGenerator.getAsString());
    
    //JSONParser 用来解析一个调用了外部服务器的JSON格式的返回的响应内容,例如WEB service callout的json格式
    String JSONContent = '{"firstName":"John"}';
    JSONParser parser = JSON.createParser(JSONContent);
    //Advance to the next token
    while(parser.nextToken()!=null){
        System.debug('Current token: ' + parser.getCurrentToken());
    }
    
    
    String JSONContent1 = '{"isActive":true}';
    JSONParser parser1 = JSON.createParser(JSONContent1);
    //Advance to the start object marker
    parser1.nextToken();
    //Advance to the next value
    parser1.nextValue();
    //Get the Boolean value.
    Boolean isAcive1 = parser1.getBooleanValue();
    System.debug(parser1.nextToken());
    System.debug(parser1.nextValue());
    System.debug(isAcive1);

  • 相关阅读:
    git command
    互联网应用架构概览-学习笔记
    机器学习基础概念-阿里大学课程学习笔记
    Python的并行求和例子
    C语言处理CSV数据
    Pattern Evaluation
    Python写的大小写转换小工具
    处理输入为非对角阵的Clustering by fast search and find of density peak代码
    css点击下层穿透上层元素
    浏览器全屏效果
  • 原文地址:https://www.cnblogs.com/weizhen/p/6472648.html
Copyright © 2020-2023  润新知