JavaJson字符串转数组详解

发布时间:2023-05-17

一、字符串转byte数组

1、Java中将字符串转换成byte数组可以使用getBytes()方法,该方法将字符串按照指定的编码格式转换成byte数组。例如:

String str = "Hello World";
byte[] bytes = str.getBytes("UTF-8");

2、如果未指定编码格式,则默认使用平台默认的编码格式。例如:

String str = "Hello World";
byte[] bytes = str.getBytes();

3、转换后的byte数组的长度与字符串的长度相等,可以通过bytes.length获取。

二、JAVA字符串转数组

1、使用Java中的String.split()方法可以将字符串按照指定的分隔符分割成字符串数组。例如:

String str = "apple,banana,orange";
String[] arr = str.split(",");

2、数组的长度与字符串的分割后得到的子字符串个数相同,可以通过arr.length获取。 3、如果需要将字符串按照多个字符分割,则可以使用正则表达式。例如,以下代码实现了将字符串按照逗号和空格分割:

String str = "apple, banana    orange";
String[] arr = str.split("[,\\s]+");

三、字符串转成数组的方法

1、Json字符串转成数组可以使用JavaJson库中的相关方法实现。 2、使用org.json.JSONArray类的toArrayList()方法可以将JsonArray转换成ArrayList。例如:

String jsonStr = "[\"apple\",\"banana\",\"orange\"]";
JSONArray jsonArray = new JSONArray(jsonStr);
List<String> list = jsonArray.toArrayList();

3、使用org.json.JSONArray类的get()方法可以通过索引获取JSONArray中的元素。例如:

String jsonStr = "[\"apple\",\"banana\",\"orange\"]";
JSONArray jsonArray = new JSONArray(jsonStr);
String element = jsonArray.get(0).toString();

四、C语言数组转字符串

1、C语言中将数组转换成字符串可以使用sprintf()函数实现。 2、以下代码实现了将整型数组转换成字符串:

int arr[] = {1, 2, 3};
char str[10];
sprintf(str, "%d%d%d", arr[0], arr[1], arr[2]);

3、转换后的字符串可以通过strlen()函数获取其长度。

五、byte数组转成字符串

1、Java中将byte数组转换成字符串可以使用String类的构造方法或者new String(byte[])方法。例如,以下代码分别使用两种方法实现了将byte数组转换成字符串:

byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
String str1 = new String(bytes);
String str2 = new String(bytes, "UTF-8");

2、如果未指定编码格式,则默认使用平台默认的编码格式。

六、完整代码示例

以下是JavaJson字符串转数组的完整代码示例:

import org.json.JSONArray;
import java.util.ArrayList;
import java.util.List;
public class JsonArrayTest {
  public static void main(String[] args) throws Exception {
    // 将字符串转换成byte数组
    String str1 = "Hello World";
    byte[] bytes1 = str1.getBytes("UTF-8");
    byte[] bytes2 = str1.getBytes();
    // Java中字符串转数组
    String str2 = "apple,banana,orange";
    String[] arr1 = str2.split(",");
    String str3 = "apple, banana     orange";
    String[] arr2 = str3.split("[,\\s]+");
    // Json字符串转成数组
    String jsonStr = "[\"apple\",\"banana\",\"orange\"]";
    JSONArray jsonArray = new JSONArray(jsonStr);
    List<String> list = jsonArray.toArrayList();
    String element = jsonArray.get(0).toString();
    // C语言数组转字符串
    int arr3[] = {1, 2, 3};
    char str4[10];
    sprintf(str4, "%d%d%d", arr3[0], arr3[1], arr3[2]);
    // byte数组转成字符串
    byte[] bytes3 = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
    String str5 = new String(bytes3);
    String str6 = new String(bytes3, "UTF-8");
  }
}