죄송합니다. 이전에 여러 번 요청한 질문에 대해 고소 당할 것임을 알고 있지만 필자는 필사적으로 검색하고, 모든 종류의 제안을 시도했으며, 그러나 아무것도 나를 위해 일하지 않고 있었다.JSON이 jqGrid에서 이스케이프 처리 된 문자
일부 JSON 데이터를 아포스트로피로 반환하는 서비스가 있습니다. 그래서 "Mike's example record
은"이 같은 반환됩니다 : 내가 알고 싶은 무엇
{
"Results": [
{
"ID": 139,
"Name": "Mike\u0027s example record",
"CedentName": "Mikes Business Partner"
}],
"Success": "1"
}
이있는 jqGrid 아포스트로피에 다시이 \u0027
코드를 변환하는 얻는 방법이다.
나는, 나는 알고있다, 이것은 명백한 설정해야합니다 알지만, 등등, 봤을 검색 한있는 jqGrid datatype
속성 기능을 추가하는 시도하고있다, 그러나 아무것도 작동하지 않았다.
$("#tblCustomers").jqGrid({
url: '/JSON/GetCustomers.aspx',
contentType: "application/json; charset=utf-8",
datatype: "json",
viewrecords: true,
loadonce: true,
jsonReader: {
root: "Results", //arry containing actual data
id: "ID", //index of the column with the PK in it
repeatitems: false
},
. . .
. . .
autoencode: true,
caption: ""
});
또 다른 질문 :
여기 내가있는 jqGrid를 JSON 데이터를로드하고 채우는 데 사용하는 코드의 관심에서, 나는 거기에 speechmarks 또 다른 기록을 추가했다.
기괴하게도 JavaScriptSerializer()
함수가 잘못된 JSON을 생성 한 다음 jqGrid에 아무 것도 표시되지 않았습니다!
string JSON = new JavaScriptSerializer().Serialize(listOfRecords).ToString();
는 다음
무효 JSON 문자열을 생산했다. 이
이 \u0022
에 speechmark을 인코딩하지 얼마나
주의 사항 :
{
"Results": [
{
"ID": 140,
"Name": "Mikes \\"Speechmark test\\" RP",
"CedentName": "Mikes Cedent"
},
은 내가 할 수있는,이 특질을 알아 차리지 유일한 사람이 될 수 없습니다 ...?
잠시 후 ..
마이크로 소프트의 지원되지 않는 형식을 사용하여, JavaScriptSerializer()
형식의 날짜를하는 방법을 this article을 읽어 본 후 :
StartDate: "\/Date(1401573600000)\/",
.. 난은 JavaScriptSerializer()
꽤 불쾌한 것을 깨달았 JSON.Net으로 바 꾸었습니다.
이상하게이 speechmarks 함유 값 직렬화에 관해서, 즐겁게 무효 JSON 문자열 (위와 같이 그 필드 값의 중간 왼쪽 speechmark와 같은 잘못된 형식이 만들면 는 비참 실패이 클래스).
그러나 아포스트로피 만 남겨두면 포맷터가 필요없이 jqGrid에서 내 데이터를 볼 수 있습니다.