1

I am trying to return a JSON dataset that looks like the following. Let me caveat this by saying I am restricted to Visual Studio 2010 and .NET 4.0. how do I either output the NULL or convert to blank?

  "Application": {
  "AppID": 3119385,
  "ReportID": 4171130,
  "AppReference": "Doran 23-Nov-16 10:46:59AM",
  "CreateDT": "2016-11-23 10:48:38.5800000",
  "ClientName": "GoGetta Brisbane",
  "StoreName": "Brokers",
  "Email": "",
  "StoreCode": "GGT08",
  "AppShortReference": "02",
  "ClientNameShort": "GGT Bris",
  "StoreNameShort": "GGT08",
  "VerifyEmployer": null,
  "VerifyAmount": null,
  "VerifyFrequency": null,
  "VerifyWeekday": null,
  "LocalityCode": "en_AU",
  "TemplateReportID": 12,
  "daysRange": 90,
  "templateReportName": "Enhanced Income Liabilities Full Report",
  "isReportGraphEnabled": 1,

I am trying to process this into an output buffer of a script component in SSIS. However I keep getting a "cannot convert null to value type" error despite checking for it.

  if (String.IsNullOrEmpty(rptContentOutput.Applications.Application.VerifyEmployer) == true)
            {
                ApplicationDetailsBuffer.VerifyEmployer = "";
            }
            else
            {
                ApplicationDetailsBuffer.VerifyEmployer = rptContentOutput.Applications.Application.VerifyEmployer;
            }

My class has been defined as the following.

public class Application
{
    [JsonProperty("AppID")]
    public int? AppID { get; set; }
    [JsonProperty("ReportID")]
    public int? ReportID { get; set; }
    [JsonProperty("AppReference")]
    public string AppReference { get; set; }
    [JsonProperty("CreateDT")]
    public string CreateDT { get; set; }
    [JsonProperty("ClientName")]
    public string ClientName { get; set; }
    [JsonProperty("StoreName")]
    public string StoreName { get; set; }
    [JsonProperty("Email")]
    public string Email { get; set; }
    [JsonProperty("StoreCode")]
    public string StoreCode { get; set; }
    [JsonProperty("AppShortReference")]
    public string AppShortReference { get; set; }
    [JsonProperty("ClientNameShort")]
    public string ClientNameShort { get; set; }
    [JsonProperty("StoreNameShort")]
    public string StoreNameShort { get; set; }
    [JsonProperty("VerifyEmployer")]
    public string VerifyEmployer { get; set; }
    [JsonProperty("VerifyAmount")]
    public double VerifyAmount { get; set; }
    [JsonProperty("VerifyFrequency")]
    public string VerifyFrequency { get; set; }
    [JsonProperty("VerifyWeekday")]
    public string VerifyWeekday { get; set; }
    [JsonProperty("LocalityCode")]
    public string LocalityCode { get; set; }
    [JsonProperty("TemplateReportID")]
    public int? TemplateReportID { get; set; }
    [JsonProperty("daysRange")]
    public int? daysRange { get; set; }
    [JsonProperty("templateReportName")]
    public string templateReportName { get; set; }
    [JsonProperty("isReportGraphEnabled")]
    public string isReportGraphEnabled { get; set; }

}

9
  • You don't specify what is VerifyFrequency - are those classes or structs? Commented May 31, 2017 at 0:10
  • @LB2 what do you mean. I am not outputting that as yet because I could get the first value out. Commented May 31, 2017 at 0:12
  • Perhaps I misunderstood the question: are you trying to serialize into JSON, or deserialize from JSON? Commented May 31, 2017 at 0:15
  • What is the type for ApplicationDetailsBuffer.VerifyEmployer. Please show the code Commented May 31, 2017 at 0:18
  • @LB2 I am Deserializing from JSON to Output Buffer. Commented May 31, 2017 at 0:18

1 Answer 1

1

Ok, I misread the code with prior comments, but I see it now.

The issue is:

public double VerifyAmount { get; set; }

which is a value type, and the JSON contains:

"VerifyAmount": null,

which causes the error. The fix is:

public double? VerifyAmount { get; set; }
Sign up to request clarification or add additional context in comments.

1 Comment

THANK YOU!!!! I have been looking at this for hours but clearly focusing on the wrong end of the equation. I though because I was not outputting it, that it wasn't being used.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.