elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Reemplazar comillas dobles dentro de comillas dobles.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Reemplazar comillas dobles dentro de comillas dobles.  (Leído 5,099 veces)
seba123neo


Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Reemplazar comillas dobles dentro de comillas dobles.
« en: 19 Agosto 2012, 09:01 »

Hola, tengo un string de JSON que devuelve mal en realidad y mete una doble comilla dentro de otra doble comilla, lo que quiero es saber como reemplazar la doble comilla, pero sin reemplazar las otras dobles comillas de las otras propiedades, por ejemplo lo que devuelve es esto:

{"accionObjeto":"post","accionTipo":"comentario","ts":"02:48:55","nick":"seba123neo","userId":"1180918","id":15521634,"accion_name":"Hola","url":"","titulo":"Hola como" estas"}

como ven todo esta bien, solo que esa doble comilla a lo ultimo la necesito reemplazar, pero sin reemplazar las otras sino el JSON es unutil.

creo que la solucion es RegEx, pero no encuentro la misma para hacer esto.

saludos.


« Última modificación: 19 Agosto 2012, 23:21 por seba123neo » En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Reemplazar comillas dobles dentro de comillas dobles.
« Respuesta #1 en: 19 Agosto 2012, 19:29 »

No es tan prolijo pero así lo resolví :xD

Código
  1.        Dim Texto As String = String.Format("{1}{0}accionObjeto{0}:{0}post{0},{0}accionTipo{0}:{0}comentario{0},{0}ts{0}:{0}02:48:55{0},{0}nick{0}:{0}seba123neo{0},{0}userId{0}:{0}1180918{0},{0}id{0}:15521634,{0}accion_name{0}:{0}Hola{0},{0}url{0}:{0}titulo{0}:{0}Hola como{0} estas{0}{2}", Convert.ToChar(34), "{", "}")
  2.  
  3.        Dim Expresión As Match = Regex.Match(Texto, "\x22[\w\s]+\x22\}$")
  4.  
  5.        Dim Reemplazar As String = Regex.Replace(Expresión.Value, "^\x22", "")
  6.  
  7.        Texto = Texto.Replace(Expresión.Value, Reemplazar)
  8.  
  9.        Console.WriteLine(Texto)
  10.  
  11.        Console.ReadKey()

En la expresión regular \x22[\w\s]+\x22\}$ tienes que reemplazar [\w\s] por, más grupos porque allí solo captura números, letras y espacios en "titulo":.


En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
seba123neo


Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Reemplazar comillas dobles dentro de comillas dobles.
« Respuesta #2 en: 22 Agosto 2012, 20:25 »

Hola, gracias por responder, lo pude solucionar con algo que me paso el usuario LeandroA

Código
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.    Debug.Print FixJSON(Text1)
  5. End Sub
  6.  
  7. Private Function FixJSON(ByVal sJSON As String) As String
  8.    Dim sArr() As String
  9.    Dim lPos As Long, i As Long
  10.  
  11.    If Len(sJSON) = 0 Then Exit Function
  12.  
  13.    sArr() = Split(sJSON, ",")
  14.  
  15.    For i = 0 To UBound(sArr)
  16.        Do While UBound(Split(sArr(i), Chr$(34))) > 4
  17.            lPos = InStr(sArr(i), ":")
  18.            lPos = InStr(lPos + 2, sArr(i), Chr$(34))
  19.            sArr(i) = Left$(sArr(i), lPos - 1) & Mid$(sArr(i), lPos + 1)
  20.        Loop
  21.    Next
  22.  
  23.    FixJSON = Join(sArr, ",")
  24. End Function

saludos.
En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Insertar comillas dentro de un WriteLine « 1 2 »
Programación Visual Basic
Erika Vega 10 3,568 Último mensaje 23 Junio 2006, 13:06
por Hans el Topo
Como almacenar una variable que contiene comillas dobles?
PHP
athlit 7 6,653 Último mensaje 9 Junio 2009, 13:19
por athlit
Ayuda con listas dobles Enlazadas
Programación C/C++
larezaka 3 1,673 Último mensaje 1 Julio 2012, 17:02
por larezaka
Ayuda con Formularios con listas Dobles
PHP
larezaka 0 974 Último mensaje 7 Octubre 2012, 16:52
por larezaka
[Resuelto]: Alternativa a una solución de escapar comillas simples y dobles « 1 2 »
Desarrollo Web
MiguelCanellas 16 2,404 Último mensaje 1 Agosto 2020, 01:14
por WHK
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines