You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using your library to produce HTML tables to good effect in most cases.
However, when the dictionary input involves apostrophes, the output fails to play nice with Folium popups.
Using html.escape seems to fix that.
For example, running
'<table border="1"><tr><th>stop_name</th><td>Ponsonby Rd & K\'Rd</td></tr></table>',
'<table border="1"><tr><th>stop_name</th><td>Ponsonby Rd &amp; K&#x27;Rd</td></tr></table>'
The first output crashes Folium popups, but the second works with them.
So would it be better for json2html to escape apostrophes in the same way that html.escape does?
The text was updated successfully, but these errors were encountered:
import html
from json2html import json2html as jh
def convert_with_escape(data):
# Create a new dictionary to store the escaped values
escaped_data = {}
for key, value in data.items():
if isinstance(value, str):
# Escape the value to handle special characters
escaped_value = html.escape(value)
escaped_data[key] = escaped_value
else:
escaped_data[key] = value # Keep non-string values unchanged
# Use the json2html conversion method on the escaped data
return jh.convert(escaped_data)
# Example usage
d = {'stop_name': "Ponsonby Rd & K'Rd"}
html_output = convert_with_escape(d)
print(html_output)
Hi there,
I'm using your library to produce HTML tables to good effect in most cases.
However, when the dictionary input involves apostrophes, the output fails to play nice with Folium popups.
Using
html.escape
seems to fix that.For example, running
produces
The first output crashes Folium popups, but the second works with them.
So would it be better for json2html to escape apostrophes in the same way that
html.escape
does?The text was updated successfully, but these errors were encountered: