Vikas Hire Ответов: 2

Как добавить несколько объектов в JSON object/array?


привет,
Ниже приведен мой веб-сервис, написанный на C#.
В этом случае я получил возвращаемое значение и таблицу из базы данных.
Я хочу объединить его в один объект/массив JSON. Как я могу это сделать?..

con.Open();
        SqlDataAdapter da = new SqlDataAdapter("UpdateUserInfo2 ", con);
        da.SelectCommand.CommandType = CommandType.StoredProcedure;
        da.SelectCommand.Parameters.Add("@UserAutoId", SqlDbType.VarChar).Value = UserAutoId;
        da.SelectCommand.Parameters.Add("@userId", SqlDbType.VarChar).Value = userId;
        da.SelectCommand.Parameters.Add("@firstName", SqlDbType.VarChar).Value = fname;
        da.SelectCommand.Parameters.Add("@lastName", SqlDbType.VarChar).Value = lname;
        da.SelectCommand.Parameters.Add("@emailadr", SqlDbType.VarChar).Value = email;
        da.SelectCommand.Parameters.Add("@hieght", SqlDbType.VarChar).Value = hieght;
        da.SelectCommand.Parameters.Add("@retValue", System.Data.SqlDbType.Int).Direction = System.Data.ParameterDirection.ReturnValue;
        da.Fill(tbl);

        int retval = (int)da.SelectCommand.Parameters["@retValue"].Value;
        if (retval == 1)
        {
            string result = "1";

//Here I want to merge table Object(tbl) and return value (result)

            json = new JavaScriptSerializer().Serialize(result);
        }
        else if (retval == 2)
        {
            string result = "2";
            json = new JavaScriptSerializer().Serialize(result);
        }
        con.Close();
        return "json";
    }


Что я уже пробовал:

Я пытаюсь обновить одну запись в базе данных и в ответ на запрос fetch хочу получить обновленную таблицу и возвращаемое значение(или любой объект).

Ayodeji Oluwatomiwo

Почему "json" заключен в кавычки? он вернет его как литерал (текст), а не как строку json.

Ayodeji Oluwatomiwo

Вы можете создать класс для столбцов вашей таблицы

public class UserInfo
    {
        public string UserAutoId { get; set; }
        public string userId { get; set; }
        public string firstName { get; set; }
        public string lastName { get; set; }
        public string emailadr { get; set; }
        public string hieght { get; set; }
    }


затем выберите обновленную строку. Затем вы можете сериализовать свой объект класса.

con.Open();
SqlCommand cmd = new SqlCommand(selectQuery, con);
SqlDataReader reader = cmd.ExecuteReader();
UserInfo userInfo = new UserInfo();
while(reader.Read())
{
info.UserAutoId = reader["UserInfoAutoId"].ToString();
.
.
.

}

//now you can serialize the object
string userJson = ...

2 Ответов

Рейтинг:
2

Member 14029425

{ "электромагнитный импульс": [
{
"employeeId": 52374,
"employeeName": "Mayuresh Чаудхари",
"employeePhone": 7888119073,
"проект": "ZENLABS_IIOT",
"менеджер": "Викрам Самдаре",
"статус": "неактивен",
"активы": [
{
"ассецно": 30003,
"описание": "HP Pavilion - ноутбук",
"тип": "ноутбук",
"assetstatus": "успех"
}
],
"манангерфон": 8888801154
},
{
"employeeId": 42177,
"имя сотрудника": "Нилеш Парех",
"employeePhone": 9764696566,
"проект": "ZENLABS_IIOT",
"менеджер": "Викрам Самдаре",
"манангерфон": 8888801154,
"статус": "Активный",
"активы": [
{
"ассецно": 30001,
"описание": "HP Pavilion - ноутбук",
"тип": "ноутбук",
"assetstatus": "опасность"
},
{
"ассецно": 30005,
"описание": "HP Pavilion - ноутбук",
"тип": "ноутбук",
"assetstatus": "успех"
}
]
}
],
"сообщение": "несоответствие активов"
}


Richard Deeming

Как этот неформатированный большой двоичный объект JSON должен быть "решением" этого вопроса?

Рейтинг:
0

Poonam Patel 10678835

Из таблицы возврата от SP

затем

JSONArray obj = new JSONArray();
    try {
         for(int i = 0; i <table.rows.count; i++) {
            // 1st object
            JSONObject list1 = new JSONObject();
            list1.put("val1",i+1);
            list1.put("val2",i+2);
            list1.put("val3",i+3);
            obj.put(list1);
         }
    } catch (JSONException e1) {
        // TODO Auto-generated catch block
      e1.printStackTrace();
    }

    Toast.makeText(MainActivity.this, ""+obj, Toast.LENGTH_LONG).show();