У меня есть служба .NET, которая сообщает об экранированной JSON-строке
[
"{\"uid\":3298534883331,\"id\":\"foo\",\"name\":\"Foo Bar\",\"address\":{\"uid\":3298534883332,\"city\":\"Shanghai\",\"street\":\"Ke Yuan Street\"}}",
"{\"uid\":3298534883333,\"id\":\"foo\",\"name\":\"Foo Bar\",\"address\":{\"uid\":3298534883334,\"city\":\"Shanghai\",\"street\":\"Ke Yuan Street\"}}"
]
Со стороны Java я использую GSON, и она хочет иметь JSON
[
{"uid":0,"id":"foo","name":"Foo Bar","address":{"uid":0,"city":"Shanghai","street":"Ke Yuan Street"}},
{"uid":0,"id":"foo","name":"Foo Bar","address":{"uid":0,"city":"Shanghai","street":"Ke Yuan Street"}}
]
без выхода.Любая стандартная процедура для удаления строки JSON?
Вот часть .NET
[OperationContract]
[WebGet(
UriTemplate = "{Database}/{ContainerName}?query={tag}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string[] Get(string database, string containerName, string tag);
Внутри нее используется JSON.net
Java-клиент
String json = webResource.
queryParam("query", "id = 'foo' AND name = 'Foo Bar'").
get(String.class);
Из отладчика Eclipse я вижу различия в двух строках: что генерирует GSON и что возвращает. Вы можете отметить дополнительные «для каждого объекта в начале и в конце»