Genere JSON ligero con DataContractJsonSerializer

Estoy tratando de generar JSON usando C # y DataContractJsonSerializer en .Net 3.5. El problema es que no puedo entender cómo construir la estructura correcta para el resultado que necesito.

Intenté reproducir las matrices asociativas de PHP utilizando tablas hash, objetos de lista y listas de matrices, pero no puedo encontrar la manera de generar mi resultado de la mejor manera usando DataContractJsonSerializer sin tener que crear mi propio bucle recursivo para construir JSON.

El enfoque más cercano es usar el enfoque Diccionario <cadena, Diccionario <cadena, cadena >> pero el resultado es demasiado grande ya que no puedo "nombrar" las teclas.

Esto es lo que obtengo:

[
   {
      "Key":"status",
      "Value":[
         {
            "Key":"value",
            "Value":"ok"
         }
      ]
   },
   {
      "Key":"1",
      "Value":[
         {
            "Key":"name",
            "Value":"Result1"
         },
         {
            "Key":"details",
            "Value":"Result 1 details"
         }
      ]
   },
   {
      "Key":"2",
      "Value":[
         {
            "Key":"name",
            "Value":"Result2"
         },
         {
            "Key":"details",
            "Value":"Result 2 details"
         }
      ]
   },
   {
      "Key":"caller",
      "Value":[
         {
            "Key":"value",
            "Value":"1135345"
         }
      ]
   }
]

Esto es lo que quiero:

{
   "status":"ok",
   "response":[
      {
         "id":1,
         "name":"Result1"
         "details":"Result 1 details"
      },
      {
         "id":2,
         "name":"Result2"
         "details":"Result 2 details"
      },
      {
         "id":3,
         "name":"Result3"
         "details":"Result 3 details"
    ],
   "caller":"1135345"
}

¿Alguien tiene idea de cómo puedo generar esta pieza de JSON usando C # sin tener que cargar todo el marco Json.NET? Necesito que esto se genere lo más rápido posible ya que este proyecto pretende convertirse en un motor de búsqueda en el sitio.

Respuestas a la pregunta(2)

Su respuesta a la pregunta