I am using the `JavaScriptSerializer` in .NET to deserialize structures which can be your standard flat key/value pair like this:

```
{
    "Value": 3.14,
    "Type": "Real"
}

```

Or more complex, with an inner hierarchical value object like this:

```
{
    "Value": { "something": "test" },
    "Type": "JsonData"
}

```

The problem I have is that in the case of `"Type": "JsonData"`, the object can be arbitrary. I can't make any assumption as to what its structure will be.

However, the "upper layers" of my application will know what to do with this data. 

I thus need to figure out a way to keep the **Value** field a string, no matter if it contains an integer, a string, or a complete JSON structure. Basically, I don't want the `JavaScriptSerializer` to parse anything in there. I would love to be able to have such a class:

```
public class JsonObject
{
    public string Value { get; set; }
    public string Type { get; set; }
}

```

With `Value` containing the unprocessed, vanilla value that was in my JSON.

**Is there any way to tell .NET to NOT to parse some part of my JSON?**

Please *do not suggest using another library like JSON.NET*. I know it would probably be capable of doing this, but this is for a project which will be distributed as a library -- This is why I'd rather have my library depend only on the standard .NET framework.