У меня есть строка JSON, хранящаяся в базе данных. На одной из моих страниц JSP я извлекаю эту строку, и я хочу, чтобы передать объект String или JSON в функцию Javascript. Функция просто это для целей тестированияПередача объекта Jackjson JSON от JSP к функции JavaScript
function test(h){
alert(h);
}
Теперь я могу получить строку JSON из штрафа базы данных, я распечатала его на экран, чтобы убедиться, что он получает его, однако, когда я прохожу его, как это
<input type="button"
name="setFontButton"
value="Set"
class="form_btn_primary"
onclick="test('<%=theJSON%>'); return false;"/>
Ничего не происходит. Я использовал firebug, чтобы проверить, что не так, и говорит, что есть недопустимый символ.
Так я тогда пытался переходящая в объекте JSON, как так
Widget widg = mapper.readValue(testing.get(0), Widget.class);
Затем пройти в ней
onclick="test('<%=widg%>'); return false;"/>
Теперь это будет проходить в без ошибок, и он предупреждает имя объекта, однако Я не могу разобрать его. Объект приходит как с именем пакета, где класс виджета хранится как так
[email protected]
Я попытался с помощью Stringify, но это не похоже на работу на этом объекте Джексон JSON.
После того, как все это не удалось, я попробовал последний способ взять строку из базы данных и закодировать ее в base64. Тем не менее, это тоже не работает, если я делаю это
String test = Base64.encode(theString);
и передать. Однако, если я сделаю это, распечатать его на экран, а затем скопировать то, что печатается, и отправить, что через него работает, так что дон Понятно, почему это так.
Так может кто-то, пожалуйста, скажите мне, что я делаю неправильно. Я пробовал много разных решений, и ничего не работает.
JSON строка хранится в базе данных, как этот
{ "ID": 1, "шпагат": [ { "тексты": [ { "значение": "Тест " "locationX": 3, "locationY": - 153, "шрифт": { "типа": "Нормальный", "размер": "Medium", "жирный": ложь, " цвет ":" 5a5a5a ", "Курсив": ложные }} ] } ] }
Был бы очень признателен, если кто-то может мне точку в прямом направлении !!
Edit:
Incase кто-то есть такая же проблема сделать это, чтобы передать JSON из JSP функции JS
<%=theJSON.replaceAll("\"", "\\\'")%>
Это позволяет передать JSON в,
затем верните его на JavaScript в обычный формат JSON
theJSON = theJSON.replace(/'/g,'"');
Должен работать нормально
Вы были в правильном направлении, пришлось бежать, просто схватил его из базы данных затем бежал его с помощью команды replaceAll, а затем передал новую строку в JavaScript – AdamM