本次需求:
需求1:需要生成1000-5000个json值(其中1个值是随机数),并放入list中
其中1个json值如下:
{"keyId":"1404623066687889410“,"metadata":"ZIV5JyLgOK"}
ZIV5JyLgOK是随机数生成
需求2:需要把list转换成字符串
需求3:需要遍历生成json list取到对应的值,其他算法调用。
解决方法:
1、随机数生成的方法
方法说明:从a-z,以及0-1中生成随机数,输入长度就可以得到长度几的随机数
import java.util.Random;
public static String getRandomString(int length) {
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(62);
sb.append(str.charAt(number));
}
return sb.toString();
}
2、生成1000个json值,并放入jsonlist中
//生成随机数,metadata赋值随机数
String metadata=getRandomString(10);
//object_json putjson值
//jsonList添加json
import org.json.JSONObject; //--->需要引入json-20210307.jar
import java.util.Random;
import java.util.List;
import java.util.ArrayList;
JSONObject object_json = new JSONObject();
List<JSONObject> jsonList = new ArrayList<JSONObject>();
for (int i=0;i<1000;i++){
String metadata=getRandomString(10);
//System.out.println(metadata);
object_json.put("keyId", "1404623066687889410");
object_json.put("metadata", metadata);
//list添加json
//objar_list.add(object_json);
jsonList.add(object_json);
}
System.out.println(jsonList); //打印list
System.out.println(jsonList.size()); //打印list长度
3、把list转换成字符串,其他地方需要应用
String aaa=jsonList.toString();
4、获取字段的数据类型
System.out.println(getType(aaa));
private static String getType(Object a) {
return a.getClass().toString();
}
5、遍历Jsonlist
for(JSONObject json : jsonList) {
String metadata = json.getString("metadata");
String keyId = json.getString("keyId");
}
全部代码:
//import java.util.*;
import org.json.JSONObject;
//import org.json.JSONArray;
//import org.json.JSONException;
import java.util.Random;
import java.util.List;
import java.util.ArrayList;
public class Test2 {
public static void main(String[] args) throws Exception {
//String aaa=getRandomString(10);
//System.out.println(aaa);
JSONObject object_json = new JSONObject();
//List objar_list=new ArrayList();
List<JSONObject> jsonList = new ArrayList<JSONObject>();
for (int i=0;i<1000;i++){
String metadata=getRandomString(10);
//System.out.println(metadata);
object_json.put("keyId", "1404623066687889410");
object_json.put("metadata", metadata);
//list添加json
//objar_list.add(object_json);
jsonList.add(object_json);
}
//System.out.println(objar_list);
System.out.println(jsonList);
System.out.println(jsonList.size());
String aaa=jsonList.toString();
System.out.println(getType(aaa));
System.out.println("String: " + aaa);
for(JSONObject json : jsonList) {
String metadata = json.getString("metadata");
String keyId = json.getString("keyId");
}
}
public static String getRandomString(int length) {
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(62);
sb.append(str.charAt(number));
}
return sb.toString();
}
private static String getType(Object a) {
return a.getClass().toString();
}
}
执行结果:
C:\Java\jdk1.8.0_211\jre\lib\rt.jar;C:\java_project2021\json-20210307.jar;C:\java_project2021\javatest\out\production\javatest Test2
1000
class java.lang.String
String: [{"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}, {"metadata":"hiQCVqSFPM","keyId":"1404623066687889410"}]
Process finished with exit code 0