Я новичок с JAVA и использовать библиотеку gson преобразовать JSON строку что-то вроде этого:Java массив объектов gson JSON в массив строк
String json = "{\"Report Title\": \"Simple Embedded Report Example with Parameters\",\"Col Headers BG Color\": \"yellow\",\"Customer Names\":[\"American Souvenirs Inc\",\"Toys4GrownUps.com\",\"giftsbymail.co.uk\",\"BG&E Collectables\",\"Classic Gift Ideas, Inc\"]}";
Gson gson = new Gson();
jsonObject (Map) = gson.fromJson(json, Object.class);
Но проблема в том, мне нужно «Имена клиентов» массив, который будет возвращен как строковый массив, а не массив объектов.
Может ли gson сделать это или нужно было бы впоследствии преобразовать, каким-то образом обнаружив тип (массив), а затем перейдя через каждый элемент, преобразуя его в строковый массив и заменив массив объектов?
Дополнительная проблема заключается в том, что имена полей JSON не являются фиксированными и могут быть несколько массивов, содержащихся в строке JSON, и все они нуждаются в преобразовании.
Спасибо за помощь, проблема в том, что мне нужно преобразовать все массивы в массивы строк, а имена полей json не исправлены. – crankshaft
вы можете проверить с возвращенным объектом - экземпляр массива, затем преобразовать в массив String проверить эту ссылку http://stackoverflow.com/questions/2725533/how-to-see-if-an-object-is-an-array-without- с помощью отражения –