Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8726201
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T08:12:06+00:00 2026-06-13T08:12:06+00:00

I am using the following to deserialize a JSON string into my own class:

  • 0

I am using the following to deserialize a JSON string into my own class:

JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> x = (Dictionary<string, object>)serializer.DeserializeObject(json);
MyJsonStruct data = serializer.Deserialize<MyJsonStruct>(x["d"].ToString());

But as soon as the JavaScriptSerializer.Deserialize() method is called, an exception is thrown:

A first chance exception of type 'System.Collections.Generic.KeyNotFoundException' occurred in mscorlib.dll
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)

Is there a way to find out which key triggered the exception?

A general technique (or recipe) for troubleshooting this type of exception would be most appreciated.

Update: If I remove the [d], I receive the following:

A first chance exception of type 'System.ArgumentException' occurred in System.Web.Extensions.dll
System.ArgumentException: Invalid JSON primitive: System.Collections.Generic.Dictionary.
   at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()
   at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)
   at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)
   at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
   at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)

But again, I am looking for a general technique more than just solving this particular instance.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T08:12:07+00:00Added an answer on June 13, 2026 at 8:12 am

    Drop a break point on the Deserialize statement, then use the Immediate Window to type in x["d"].ToString(). This will tell you what that evaluates to, which will equate to the key you are attempting to deserialize.

    If you get an error while evaluating that, then your x dictionary does not have “d” as a key, which is another thing you can check.

    EDIT: I don’t think Daniel was suggesting you remove the ["d"] completely. If you do that, you are passing Deserialize a dictionary when it’s pretty clearly expecting a string. This type mismatch is what causes the new error you see. Instead, Daniel is suggesting that the dictionary you have doesn’t include "d" as a valid key. Which it may or may not, I’m not sure.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using .NET's JavascriptSerializer to deserialize JSON into runtime objects and for the most
I would like to deserialize the following json using DataContractJsonSerializer: coordinates: [ [ 18.008966033966707,
I am currently using Json.Net to deserialize my JSON. I now have the following
I have the following C# helper class which retrieves a Json String from a
I want to deserialize a JSON object (using GSON, because I already use it
I'm trying to use JSON.Net to deserialize a JSON object into a C# object.
Given the following JSON Date representation: \/Date(1221644506800-0700)\/ How do you deserialize this into it's
I am serializing and deserializing following domain object to JSON using Jackson 1.8.3 public
Using the Newtonsoft.Json library, imagine I have got public class Test { public Object
I want to deserialize JSON data (using Newtonsoft) similar to following, and convert to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.