我如何添加双引号看起来像 json

Mus*_*que 7 java

我有下面的字符串,但我想在其中添加双引号使其看起来像 json

[
{
   LastName=abc, 
   FirstName=xyz, 
   EmailAddress=s@s.com, 
   IncludeInEmails=false
},
{ 
  LastName=mno, 
  FirstName=pqr, 
  EmailAddress=m@m.com, 
  IncludeInEmails=true
}
]
Run Code Online (Sandbox Code Playgroud)

我想要低于输出。

[
    {
       "LastName"="abc", 
       "FirstName"="xyz", 
       "EmailAddress"="s@s.com", 
       "IncludeInEmails"=false
    },
    { 
      "LastName"="mno", 
      "FirstName"="pqr", 
      "EmailAddress"="m@m.com", 
      "IncludeInEmails"=true
    }
    ]
Run Code Online (Sandbox Code Playgroud)

我试过一些字符串正则表达式。但没有得到。任何人都可以帮忙。

String text= jsonString.replaceAll("[^\\{\\},]+", "\"$0\"");
System.out.println(text);
Run Code Online (Sandbox Code Playgroud)

谢谢

Mah*_*dra 3

正则表达式的方式,类似于您尝试过的:

    String jsonString = "[ \n" + "{ \n" + "   LastName=abc,  \n" + "   FirstName=xyz,  \n"
            + "   EmailAddress=s@s.com,  \n" + "   IncludeInEmails=false \n" + "}, \n" + "{  \n"
            + "  LastName=mno,  \n" + "  FirstName=pqr,  \n" + "  EmailAddress=m@m.com,  \n" + "  Number=123,  \n"
            + "  IncludeInEmails=true \n" + "} \n" + "] \n";

    System.out.println("Before:\n" + jsonString);
    jsonString = jsonString.replaceAll("([\\w]+)[ ]*=", "\"$1\" ="); // to quote before = value
    jsonString = jsonString.replaceAll("=[ ]*([\\w@\\.]+)", "= \"$1\""); // to quote after = value, add special character as needed to the exclusion list in regex
    jsonString = jsonString.replaceAll("=[ ]*\"([\\d]+)\"", "= $1"); // to un-quote decimal value
    jsonString = jsonString.replaceAll("\"true\"", "true"); // to un-quote boolean
    jsonString = jsonString.replaceAll("\"false\"", "false"); // to un-quote boolean

    System.out.println("===============================");
    System.out.println("After:\n" + jsonString);
Run Code Online (Sandbox Code Playgroud)