Веб-API C# MVC4 — результирующий JSON должен возвращать объекты вместо $ref для объекта

У меня есть приложение веб-API ASP.NET MVC 4, использующее EntityFramework для ORM.

В JSON, который я возвращаю, есть несколько случаев, когда один и тот же дочерний узел присутствует для нескольких родительских узлов. В этих случаях первое вхождение дочернего узла полностью видно со всеми его элементами. Любое последующее вхождение отображается как ссылка $ref на первое вхождение. Вместо этого я хотел бы видеть полный объект каждый раз, когда он появляется в возвращаемом JSON.

Например, вместо того, чтобы видеть:

    [{
    "$id": "1",
    "userId": 1,
    "Badge": {
        "$id": "2",
        "badgeId": 1,
        "badgeName": "Gold"
        }
    }, {
    "$id": "3",
    "userId": 2,
    "Badge": {
        "$ref": "2"
        }
    }]

я хотел бы видеть:

    [{
    "$id": "1",
    "userId": 1,
    "Badge": {
        "$id": "2",
        "badgeId": 1,
        "badgeName": "Gold"
        }
    }, {
    "$id": "3",
    "userId": 2,
    "Badge": {
        "$id": "4",
        "badgeId": 1,
        "badgeName": "Gold"
        }
    }]

По сути, я хочу избавиться от любых "$ref" в JSON. Есть ли способ?

Спасибо!

7
задан j0k 5 April 2013 в 11:23
поделиться