парсинг JSON в массив JavaScript - PullRequest
       3

парсинг JSON в массив JavaScript

2 голосов
/ 23 февраля 2011

Я получаю ответ JSON от моего сервисного звонка:

[Object { __type="TestDTO:#TestServer.Data", DateCreated="/Date(1298357607157+0500)/", more...}, Object { __type="TestDTO:#TestServer.Data", DateCreated="/Date(1298357628953+0500)/", more...}]

и я хочу использовать шаблоны Jquery, для которых требуется массив javascript

нравится:

var books = [
            { title: "ASP.NET 4 Unleashed", price: 37.79, picture: "AspNet4.jpg" },
            { title: "ASP.NET MVC Unleashed", price: 44.99, picture: "AspNetMshed.jpg" },
            { title: "ASP.NET Kick Start", price: 4.00, picture: "AspNetKickStart.jpg" },
            { title: "ASP.NET MVC Unleashed iPhone", price: 44.99, picture: "Asele.jpg" },
            ];

Как я могу преобразовать ответ JSSON в приведенный ниже формат (пожалуйста, игнорируйте данные), только формат должен быть таким же.

Я использую это в методе успеха ajax:

 success: function (response) {
                    var tr = response.d;
                    var tests = tr.Tests;
                      $("#TestsTemplate").tmpl(tests).appendTo("#divTests");

.tmpl(tests) требуется массив javascript

Шаблон Mu Jquery выглядит так:

Имя теста: $ {TestName}

Тестовая страница: $ {TestPage} ID: $ {ID} Дата создания: $ {DateCreated} Результат: $ {Result} Статус: $ {Status}
                <div id="divTests">

                </div>                 

и то, что я получаю от json, это DTO ниже

открытый класс TestRunDTO { public long ID {get; задавать; } открытая строка TestSuiteName {get; задавать; } public DateTime DateCreated {get; задавать; } public int Result {get; задавать; } public int Status {get; задавать; } Тесты публичного списка {get; задавать; } }

Я хочу показать эту коллекцию тестов в TestRunDTO с использованием шаблонов jquery

С уважением, Асиф Хамид

1 Ответ

0 голосов
/ 09 мая 2011

Вы можете преобразовать возвращенный JSON в какой-то другой объект, ожидаемый $.tmpl.Используйте что-то вроде этого:

/*
 * returnedObject - data returned by your service call
 */

var returnArr = [];
$.each(returnedObject, function() {
    var _tmp = {};
    _tmp.title = this.title;
    _tmp.price = this.price;
    _tmp.picture = this.picture;
    returnArr.push(_tmp);
});

$.('#template').tmpl(returnArr);

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...