如何把json格式转换为string

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把json格式转换为string相关的知识,希望对你有一定的参考价值。

参考技术A public static void main(String[] args)
String s="[\"type\":\"城际高速\",\"station\":\"北京南\",\"stationNO\":\"1\",\"days\":\"1\",\"arriveTime\":\"-\",\"startDriveTime\":\"08:45\",\"km\":\"0\",\"type\":\"城际高速\",\"station\":\"天津\",\"stationNO\":\"2\",\"days\":\"1\",\"arriveTime\":\"09:15\",\"startDriveTime\":\"-\",\"km\":\"120\"]";
Object obj=JSONValue.parse(s);
JSONArray array=(JSONArray)obj;
Iterator iter = array.iterator();
String[][] ary = new String[array.size()+1][7];
String[] ss = "type", "station","stationNO", "days", "arriveTime", "startDriveTime", "km";
int[] a = 1,2,3;
ary[0] = ss;
int i=1;
while(iter.hasNext())
JSONObject jObj = (JSONObject)iter.next();
ary[i] = new String[7];
ary[i][0] = (String)jObj.get("type");
ary[i][1] = (String)jObj.get("station");
ary[i][2] = (String)jObj.get("stationNO");
ary[i][3] = (String)jObj.get("days");
ary[i][4] = (String)jObj.get("arriveTime");
ary[i][5] = (String)jObj.get("startDriveTime");
ary[i][6] = (String)jObj.get("km");
i++;

System.out.println(Arrays.toString(ary[0]));
System.out.println(Arrays.toString(ary[1]));
System.out.println(Arrays.toString(ary[2]));

json格式的字符串转换为java对象

其中的反斜杠干嘛用的?

    先来解释反斜杠干嘛用的:

    你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.

    假如我有个json对象:

           "message" :   "success"

    那么问题来了,怎么把它放到一个String字符串对象里呢?

    那么我们都会这么做:

String json = ""message":"success"";

对吧?但是这么做对吗?前面说过了,字符串是引号开始,引号结尾的,再看一眼这么做对吗?

所以我们需要转义字符去将引号放入字符串当中,而不是字符串定义的功能。“  \\" ”就是表示将双引号放入字符串中。


2. json字符串转java对象

下面以ali的fastjson为例,讲解json字符串转json对象:

String jsonStr = "\\"message\\" : \\"success\\"";
JSONObject jsonObject = JSON.parseObject(jsonStr);
String message = jsonObject.getString("message");
System.out.println(message);

假如你有想要转换成的bean :

public class Info 
    private String message;

    public String getMessage() 
        return message;
    

    public void setMessage(String message) 
        this.message = message;
    

就可以这样:

String jsonStr = "\\"message\\" : \\"success\\"";
Info info = JSON.parseObject(jsonStr, Info.class);
System.out.println(info.getMessage());

 这里的fastjson只是处理json的框架中的一个,此外还有jackson、Gson等等,可以根据自己的需求选择一个就可以了。

参考技术A 反斜杠\起到转义的作用,防止解析错误,比如双引号。
json格式的字符串转换为java对象推荐Gson.
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
参考:https://github.com/google/gson

以上是关于如何把json格式转换为string的主要内容,如果未能解决你的问题,请参考以下文章

jQuery怎么把JSON格式的字符串转换为JSON对象

el-table数据转化为json后如何转换

在java中如何把字符串转换成时间格式?

在java中如何把字符串转换成时间格式?

怎么把获取的json数据转换成string

js如何把二维数组转换成json字符串格式