Как мне избежать строк в JSON?

То, что вы хотите использовать, часто называют «продуктом точка-точка», т. е. найти вектор, перпендикулярный одному из векторов, а затем найти точечный продукт с другим вектором.

if(a.x*b.y - a.y*b.x < 0)
    angle = -angle;

Вы также можете сделать это:

angle = atan2( a.x*b.y - a.y*b.x, a.x*b.x + a.y*b.y );
143
задан vela 5 March 2019 в 10:04
поделиться

2 ответа

В идеале, найдите библиотеку JSON на вашем языке , в которую вы можете передать некоторую соответствующую структуру данных, и позвольте ему позаботиться о том, как избежать вещей . Это сделает вас более здравомыслящим. Если по какой-либо причине у вас нет библиотеки на вашем языке, вы не хотите ее использовать (я бы не предлагал этого¹) или вы пишете библиотеку JSON, читайте дальше.

Избегайте этого в соответствии с RFC. JSON довольно либерален: единственные символы, которые вы должны экранировать, - это \ , " и управляющие коды (все, что меньше U + 0020).

Это структура экранирования специфична для JSON. Вам понадобится специальная функция JSON. Все экранирования можно записать как \ uXXXX , где XXXX - это единица кода UTF-16¹ для этого Существует несколько сокращений, например \\ , которые также работают.(И они приводят к меньшему размеру и более четкому результату.)

Для получения полной информации см. RFC .

¹Экранирование JSON построено на JS, поэтому используется \ uXXXX , где XXXX - это кодовая единица UTF-16. Для кодовых точек за пределами BMP это означает кодирование суррогатных пар, что может стать немного сложным. (Или вы можете просто вывести символ напрямую, поскольку JSON закодирован для текста Unicode и позволяет использовать эти конкретные символы.)

150
ответ дан 23 November 2019 в 22:30
поделиться

Не уверен, что вы подразумеваете под "созданием json вручную", но вы можете использовать что-то вроде gson (http://code.google.com/p/google-gson/), и это преобразует ваш HashMap, Array, String и т.д. в JSON-значение. Я рекомендую использовать для этого фреймворк.

3
ответ дан 23 November 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: