Как преобразовать необработанные данные в данные json ? .
Пример:
Выход:
необработанные данные:
{"NewsByIdResult":"[{\"NewsID\":4,\"CompanyID\":0,\"CompanyIds\":null,\"CompanyId\":160,\"CompanyIdVal\":null,\"Topic\":\"280\",\"Industry\":83,\"CompanyLegalName\":\"бизнес-информация TCS\"}]"}
Данные Json:
{
"NewsByIdResult": "[{"NewsID":4,"CompanyID":0,"CompanyIds":null,"CompanyId":160,"CompanyIdVal":null,"Topic":"280","Industry":83,"CompanyLegalName":" бизнес-информация TCS"}]"
}
Что я уже пробовал:
var JsonNews = Newtonsoft. Json.JsonConvert. SerializeObject(Lstnews);
возвращение JsonNews;
Использование приведенного выше кода для преобразования списка объектов в данные Json. Но я получаю выходные необработанные данные только не так, как данные json. Kinly help i would like JSON data.
F-ES Sitecore
Разве это имеет значение? Пока это действительный json, вот что имеет значение.
Thiyagu Arockiasamy
Хорошо, тогда как можно удалить символ \ в необработанных данных. я не мог связать это значение.
F-ES Sitecore
"\"На самом деле нет, VS просто добавляет его, когда показывает вам текст, чтобы вы знали, что следующая цитата является буквальной цитатой, а не цитатой, которая обозначает начало\конец строки.
Thiyagu Arockiasamy
Хорошо, сэр, но это не работает. я реализовал данные joson с помощью HTML-страницы с помощью jquery, но это не сработало.я добавил свой HTML-код jQuery, пожалуйста, помогите, сэр
< script type= "text/javascript">
$(документ).готово(функция () {
отладчик
$.Аякс({
кроссдомен: правда,
асинхронные: правда,
кэш: false,
типа: "вам",
URL-адрес: 'http://localhost:25012/ProjectRestService.svc/NewsById/4',
сведения: в формате JSON.преобразовать в строки(),
contentType: "application/json; charset=utf-8",
тип данных: "json",
успех: функция (ответ) {
предупреждение(ответ.д);
},
отказ: функция (ответ) {
предупреждение(ответ.responseText);
}
});
}
);
< / script>
Thiyagu Arockiasamy
я получил вывод только в необработанных данных, которые мне нужны для данных joson. я использовал код
var JsonNews = Newtonsoft. Json.JsonConvert. SerializeObject(Lstnews);
возвращение JsonNews;
его только получить необработанные данные, но мне нужны данные json
{"NewsByIdResult": "[{\"NewsID\": 4,\ "CompanyID\" Blush|: O ,\"CompanyIds\":null,\"CompanyId\":160,\"CompanyIdVal\":null,\"Topic\":\"280\",\"Industry\":83,\"CompanyLegalName\":\"бизнес-информация TCS\"}]"}
Nathan Minier
Вероятно, это помогло бы, если бы массив не был определен как строка.
И если бы у компании были достоверные данные.
Thiyagu Arockiasamy
CompanyID нет необходимости, сэр
xszaboj
вы уверены, что исходные данные находятся в этом формате?
{"NewsByIdResult": "[{\"NewsID\": 4,\ "CompanyID\" Blush|: O ,\"CompanyIds\":null,\"CompanyId\":160,\"CompanyIdVal\":null,\"Topic\":\"280\",\"Industry\":83,\"CompanyLegalName\":\"бизнес-информация TCS\"}]"}
а как насчет этой улыбки? Есть ли у вас какой-либо контроль над этими данными?
Thiyagu Arockiasamy
Его не улыбка его " CompanyID\": 0, в этом ID нет необходимости
xszaboj
В таком случае единственное, что вам нужно сделать, это удалить "" вокруг. массив. "[{.....}]" быть [{ ... }], и тогда это действительный Json.
JSON. parse ('{"NewsByIdResult": [{\"NewsID\": 4,\ " CompanyID\": 0 ,\"CompanyIds\":null,\"CompanyId\":160,\"CompanyIdVal\":null,\"Topic\":\"280\",\"Industry\":83,\"CompanyLegalName\":\"TCS BUSINESS INFORMATION\"}]}')
Thiyagu Arockiasamy
Как я могу удалить "". пожалуйста, скажите мне
Thiyagu Arockiasamy
Сэр, я реализую данные joson с помощью HTML-страницы с помощью jquery, это не работает.я добавил свой HTML-код jQuery, пожалуйста, помогите мне
< script type= "text/javascript">
$(документ).готово(функция () {
отладчик
$.Аякс({
кроссдомен: правда,
асинхронные: правда,
кэш: false,
типа: "вам",
URL-адрес: 'http://localhost:25012/ProjectRestService.svc/NewsById/4',
сведения: в формате JSON.преобразовать в строки(),
contentType: "application/json; charset=utf-8",
тип данных: "json",
успех: функция (ответ) {
предупреждение(ответ.д);
},
отказ: функция (ответ) {
предупреждение(ответ.responseText);
}
});
}
);
< / script>
xszaboj
откуда вы получаете исходные данные?
Thiyagu Arockiasamy
Я получаю необработанные данные в приведенном ниже коде.
public string NewsById(string NewsID)
{
строка Status = TokenHelper.IsValidateToken();
использование (DbConnection con = db. CreateConnection())
пробовать
{
против.Открыть();
Список<новость&ГТ; Lstnews = новый список<новость&ГТ;();
DbCommand cmd = db. GetStoredProcCommand ("spNews_GetValues", NewsID);
УМК.CommandTimeout = int. MaxValue;
SqlDataReader objnewsRead = (SqlDataReader)db.Метода executereader(УМК);
пока (objnewsRead.Читать())
{
Lstnews.Добавить (Новые Известия()
{
Программа newsid = objnewsRead.GetInt32(objnewsRead.GetOrdinal("Программа")),
NewsCompId = objnewsRead.GetInt32(objnewsRead.GetOrdinal ("NewsCompId")),
CompanyId = objnewsRead.GetInt32(objnewsRead.GetOrdinal ("CompanyIds")),
CompanyLegalName = objnewsRead.Метода getString(objnewsRead.GetOrdinal ("CompanyLegalName")),
}
var JsonNews = Newtonsoft. Json.JsonConvert. SerializeObject(Lstnews);
возвращение JsonNews;
}
наконец
{
против.Закрывать();
}
}
Это мой служебный код
Пожалуйста, помогите мне
xszaboj
Итак, когда вы вызываете эту функцию, какие данные вы получите?
Я не верю, что это необработанные данные.
вы должны куда-то завернуть необработанные данные, не так ли?
xszaboj
вот моя демонстрация вашего кода.
https://github.com/xszaboj/convertToJsonDemo
поэтому, если вы запустите его, вы увидите, что он возвращает действительный json, так что проблема находится где-то еще в вашем коде
Thiyagu Arockiasamy
Уважаемый сэр, я проверяю его, у вас демонстрационный выход в порядке, это действительный Джосон. но мой вывод json таков
{"NewsByIdResult": "[{\"NewsID\": 4,\ " CompanyId\": 160,\ " NewsCompId\": 7,\ " CompanyLegalName\":\ " TCS BUSINESS INFORMATION\"}]"}
пожалуйста, как я могу удалить массив "". если я удалю " его работу нормально. пожалуйста помогите мне сэр
Thiyagu Arockiasamy
хорошо, сэр, большое спасибо.И еще один вопрос , Как получить данные json на html-странице с помощью jquery.
xszaboj
например вот так:
$. get( "test.php", { id: 1 } );
документация здесь:
https://api.jquery.com/jquery.get/
еще один вопрос к вам. Как вы размещаете свой сервис? Используете ли вы веб-API? или проект MVC? или что-то еще?
Thiyagu Arockiasamy
я использую сервис WCF rest, сэр.
Thiyagu Arockiasamy
я использую WCF rest service WEB API
Thiyagu Arockiasamy
мой сервисный код остальное
[OperationContract]
[WebGet (UriTemplate = " NewsById / {NewsID}", ResponseFormat = WebMessageFormat.В Формате JSON, Кузов = WebMessageBodyStyle.Завернутый)]
string NewsById(string NewsID);
И мой jQuery код Html страницы :
< script type= "text/javascript">
$(документ).готово(функция () {
отладчик
$.Аякс({
кроссдомен: правда,
асинхронные: правда,
кэш: false,
типа: "вам",
URL-адрес: 'http://localhost:25012/NewsRestService.svc/NewsById/4',
сведения: в формате JSON.преобразовать в строки(),
contentType: "application/json; charset=utf-8",
тип данных: "json",
успех: функция (ответ) {
предупреждение(ответ.д);
},
отказ: функция (ответ) {
предупреждение(ответ.responseText);
}
});
}
);
< / script>
Thiyagu Arockiasamy
уважаемый сэр если я десериализую этот JSON массив. "[{.....}]" отображается. как удалить "" сэр. код ниже
var JsonNews = Newtonsoft. Json.JsonConvert. SerializeObject(Lstnews);
ВАР создание экземпляра = sonConvert.DeserializeObject & lt;List & lt;newss>> (JsonNews);
возвращение JsonNews;
xszaboj
проверьте решение на github, оно работает именно так, как вам нужно
Thiyagu Arockiasamy
Большое спасибо, сэр . Для меня это прекрасно работает. Спасибо снова
Thiyagu Arockiasamy
Большое спасибо, сэр, вы действительно экономите мне много времени, сэр..... Большое вам спасибо, сэр........ Для меня это прекрасно работает, сэр.
xszaboj
Рад помочь ;)