JSON.NET 반환 오염 된 JSON을 반환합니다
-
21-08-2019 - |
문제
나는 사용 중입니다 json.net 객체를 구문 분석하고 내가 만든 웹 서비스에 전달합니다. 객체는 Linq-Objects입니다. jQuery 로이 웹 서비스에 액세스 할 때 JSON을 올바르게 구문 분석하지 않습니다. 서식에 문제가있는 것 같습니다 ..
내가 얻는 json-string은 이것입니다.
[{"typeid":1,
"typename":"binders",
"description":"test",
"RESOURCEs":
[{"resourceid":4,
"resourcename":"Binders 1",
"description":"Pakke med hele fire binders!!!",
"typeid":1,
"RESERVATIONLINEs":[]
},
{"resourceid":10,
"resourcename":"xxx",
"description":"xxx",
"typeid":1,
"RESERVATIONLINEs":[]
}
]
},
{"typeid":2,
"typename":"blyant",
"description":"også dyrt",
"RESOURCEs":
[{"resourceid":5,
"resourcename":"Gråblyant 1",
"description":"Fin og grå",
"typeid":2,
"RESERVATIONLINEs":[]
},
{"resourceid":6,
"resourcename":"Rødblyant 1",
"description":"Må spisses ofte",
"typeid":2,
"RESERVATIONLINEs":[]
}
]
},
{"typeid":4,
"typename":"Penn",
"description":"tester",
"RESOURCEs":
[{"resourceid":7,
"resourcename":"Penn 1",
"description":"Blå og fin",
"typeid":4,
"RESERVATIONLINEs":[]
},
{"resourceid":11,
"resourcename":"xxx",
"description":"xxx",
"typeid":4,
"RESERVATIONLINEs":[]
}
]
},
{"typeid":5,
"typename":"Kajakk",
"description":"Dette er en type båt",
"RESOURCEs":
[{"resourceid":1,
"resourcename":"Havkajakk 1",
"description":"FOr havbruk",
"typeid":5,
"RESERVATIONLINEs":[]
},
{"resourceid":2,
"resourcename":"Havkajakk 2",
"description":"For havbruk",
"typeid":5,
"RESERVATIONLINEs":[]
}
]
},
{"typeid":6,
"typename":"3G-modem",
"description":"Fra NetCom",
"RESOURCEs":
[{"resourceid":3,
"resourcename":"3G-modem 1",
"description":"Gammelt og ustabilg",
"typeid":6,
"RESERVATIONLINEs":[]
},
{"resourceid":12,
"resourcename":"xxx",
"description":"xxx",
"typeid":6,
"RESERVATIONLINEs":[]
}
]
},
{"typeid":7,
"typename":"Minnepinne",
"description":"på 1 KB",
"RESOURCEs":
[{"resourceid":8,
"resourcename":"Minnepinne 1",
"description":"1 KB (!)",
"typeid":7,
"RESERVATIONLINEs":[]
},
{"resourceid":9,
"resourcename":"Minnepinne 2",
"description":"20 PB",
"typeid":7,
"RESERVATIONLINEs":[]
}
]
}]
왜 이것이 작동하지 않는지 단서가 있습니까?
해결책
여기서 실제 문제는이 JSON이 XML- 태그에 포함되었다는 것입니다. 이 파서를 사용하여 JSON-String을 구문 분석하여 문제를 해결했습니다. http://www.json.org/js.html
jQuery가 나를 위해 이것을해야하기 때문에 이것은 이상적이지 않지만, .NET-webservices가 XML- 태그에 포함되지 않은 RAW JSON-String을 반환하는 방법을 찾을 때 까지이 솔루션은 작동합니다 =)
다른 팁
이것이 인코딩 문제라고 생각합니다. 레코드에서 이것을 제거하면 어떻게됩니까?
"resourcename":"Rødblyant 1"
양쪽에서 UTF-8을 사용하고 있는지 확인하십시오. 내 생각에 기본 인코딩 (Windows1252)을 사용하여 문자열을 인코딩하거나 수신 엔드가 비슷한 일을하고 있다고 생각합니다.
JSON은 UTF-8, UTF-16 (LE 또는 BE) 또는 UTF-32 (LE 또는 BE)에 있어야합니다.
이것을 테스트하려면 모든 것을 제거하십시오. å
그리고 ø
캐릭터와 그것이 작동하는지 확인하십시오. 그렇다면 한쪽 또는 다른 쪽에서 확실히 인코딩하는 것입니다.
제휴하지 않습니다 StackOverflow