none
String separado por pipe a json RRS feed

  • Pregunta

  • Hola a todos, alguien me hecha una mano en lo siguiente:

    • Tengo un string separado por pipe, necesito llevarlo a un json, como logro hacer eso? imagino que hay que tomar en cuenta que previamente a cada campo del string hay que darle un nombre para luego llevar a json, bueno no se es por eso que lo consulto.

    Saludos cordiales a todos.


    Roy Sillerico

    miércoles, 25 de octubre de 2017 14:32

Respuestas

  • Podrías hacerlo a mano, troceando el string y concatenando las cadenas para formar el Json:

    string ejemplo = "xxx|yyy|zzz";
    string[] partes = ejemplo.Split('|');
    StringBuilder sb = new StringBuilder();
    sb.Append("{");
    for (int i=0; i < partes.Length; i++)
    {
        sb.AppendFormat("campo{0}:\"{1}\",", i+1, partes[i]);
    }
    sb.Remove(sb.Length-1, 1);
    sb.Append("}");
    string json = sb.ToString();



    miércoles, 25 de octubre de 2017 19:19
    Moderador

Todas las respuestas

  • No hay que hacer nada. El pipe no es un carácter reservado en JSON. Se puede dejar exactamente igual. Por ejemplo, el string "a|b" se codifica en JSON como "a|b". Otra cosa sería que contuviese cosas como una barra invertida o unas comillas dobles, pero el pipe no tiene problema, se puede dejar dentro del string sin hacerle ningún cambio.
    miércoles, 25 de octubre de 2017 17:15
    Moderador
  • A pos creo que no logre hacerme entender bien, lo que quiero es que por ejemplo un string "xxx|yyy|zzz"

    se pase a un strinf como si de una clase con 3 atributos estuviese siendo srealizado, o sea {campo1:xxx, campo2:yyy, campo3:zzz}, algo asi, esa es la idea


    Roy Sillerico

    miércoles, 25 de octubre de 2017 17:56
  • Podrías hacerlo a mano, troceando el string y concatenando las cadenas para formar el Json:

    string ejemplo = "xxx|yyy|zzz";
    string[] partes = ejemplo.Split('|');
    StringBuilder sb = new StringBuilder();
    sb.Append("{");
    for (int i=0; i < partes.Length; i++)
    {
        sb.AppendFormat("campo{0}:\"{1}\",", i+1, partes[i]);
    }
    sb.Remove(sb.Length-1, 1);
    sb.Append("}");
    string json = sb.ToString();



    miércoles, 25 de octubre de 2017 19:19
    Moderador