Para instalar una extensión externa en el navegador Google Chrome, intento actualizar el archivo json de extensión externa de Chrome. Usando Json.NET
parece ser fácil:¿Cómo puedo leer json con un comentario con Json.NET
string fileName = "..."; // path to chrome external extension json file
string externalExtensionsJson = File.ReadAllText(fileName);
JObject externalExtensions = JObject.Parse(externalExtensionsJson);
pero me da un Newtonsoft.Json.JsonReaderException
diciendo:
"Error parsing comment. Expected: *, got /. Path '', line 1, position 1."
al llamar JObject.Parse
porque este archivo contiene:
// This json file will contain a list of extensions that will be included
// in the installer.
{
}
y comentarios no son parte de json (como se ve en How do I add comments to Json.NET output?).
Sé que puedo eliminar comentarios con un Regex (Regex to remove javascript double slash (//) style comments) pero necesito volver a escribir json en el archivo después de la modificación y mantener el comentario puede ser una buena idea.
Pregunta: ¿Hay alguna manera de leer json con comentarios sin eliminarlos y poder reescribirlos?
Gracias pero no tengo otra opción: Google Chrome proporciona un archivo llamado "external_extensions.json" que contiene comentarios de una sola línea y debo completarlo. Más generalmente, Json se usa a menudo como archivo de configuración donde los usuarios pueden agregar comentarios (líneas individuales y/o múltiples). No tenemos otra opción: podemos enfrentar la necesidad de leer cada comentario (e idealmente reescribirlo). Y me gustaba poder usar Json.Net para hacerlo. ¿Crees que puede ser una posible evolución? – MuiBienCarlota
por qué oh, ¿por qué solo es compatible con comentarios de varias líneas de Javascript? – tofutim
Reemplazar con expresiones regulares no era una solución completamente satisfactoria. Tomándolo en cuenta en Json.Net era lo que esperaba. ¡Gracias! – MuiBienCarlota