문제

나는 사용 중입니다 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)에 있어야합니다.

이것을 테스트하려면 모든 것을 제거하십시오. å 그리고 ø 캐릭터와 그것이 작동하는지 확인하십시오. 그렇다면 한쪽 또는 다른 쪽에서 확실히 인코딩하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top