Как отобразить ответ json, который имеет точку в имени поля и имеет подэлемент value - PullRequest
0 голосов
/ 08 июня 2019

У меня есть JSON, который выглядит так:

{"resolution": [
      {
      "resolution.resolution_id": {"val": "28"},
      "resolution.resolution_comment": {"val": "sdfsdfsdfsdfs"},      
      "resolution.resolved_by_user": {"val": "XXX"}

   },
      {
      "resolution.resolution_id": {"val": "28"},
      "resolution.resolution_comment": {"val": "sdfsdfsdfsdfs"},
      "resolution.resolved_by_user": {"val": "YYY"}
   }
]}

и определение JQGrid:

$(newTable).jqGrid({
            url:"someurl",
            mtype: 'GET',
            datatype: "json",
            height: 250,
            colNames:['id'],
            colModel:[
                {
                    name:'resolution.resolution_id',index:'resolution.resolution_id',sorttype:'string', width:200
                },

            ],
            rowNum: 10000,
            pager:'#pager',
            toppager: true,
            viewrecords: true,
            sortname: 'resolution_id',
            jsonReader:{repeatitems: false,root:'resolution'},
            multiselect: true,
            gridview: true,
            caption: "Resolution"
          })

Как мне установить карту JSON, чтобы она могла считывать resolution.resolution_id?

Я пробовал различные комбинации jsonmap: resolution.resolution_id.val

Также пробовал

jsonmap:function(row){return row["val"]}

безрезультатно

1 Ответ

0 голосов
/ 10 июня 2019

Попробуйте использовать эту colModel и следующую jsonmap:

colModel:[
{
    name:'resolution.resolution_id',
    index:'resolution.resolution_id',
    jsonmap : function (a) { var v = a["resolution.resolution_id"]; return v.val; },
    sorttype:'string', 
    width:200
},
....
]

или просто

jsonmap : function (a) { return a["resolution.resolution_id"].val; },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...