读取JSON字符串中的一维、二维数组数据
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
//从文件中读取数据创建JSON字符串 对象filePath = "levels/data1.txt"
public JSONObject createJSON(Context context, String filePath)
{
JSONObject json = null;
try
{
InputStream fileIn = context.getAssets().open(filePath);
byte[] tmp = new byte[fileIn.available()];
fileIn.read(tmp);
String data = new String(tmp, "UTF-8");
fileIn.close();
json = new JSONObject(data);
}
catch (Exception e)
{
e.printStackTrace();
}
return json;
}
//从json中, 读取属性名为str的数据, 到一维数组Data中
public int[] readOneDimensionDataInt(JSONObject json, String str)
{
int[] Data = null;
try
{
boolean b = json.has(str);
if(json.has(str))
{
JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的一维数组
Data = new int[Array1.length()]; //创建数组
for(int j = 0; j < Array1.length(); j ++)
Data[j] = Array1.getInt(j); //获取一维数组中的数据
}
}
catch (JSONException e)
{
e.printStackTrace();
}
return Data;
}
//从json中, 读取属性名为str的数据, 到二维数组Data中
public int[][] readTwoDimensionDataInt(JSONObject json, String str)
{
int[][] Data = null;
try
{
if(json.has(str))
{
JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的二维数组
Data = new int[Array1.length()][];
for(int i = 0; i < Array1.length(); i ++)
{
JSONArray Array2 = Array1.getJSONArray(i); //获取一维数组
Data[i] = new int[Array2.length()];
for(int j = 0; j < Array2.length(); j ++)
Data[i][j] = Array2.getInt(j); //获取一维数组中的数据
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
return Data;
}
//从json中, 读取属性名为str的数据, 到二维数组Data中
public double[][] readTwoDimensionData(JSONObject json, String str)
{
double[][] Data = null;
try
{
if(json.has(str))
{
JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的二维数组
Data = new double[Array1.length()][];
for(int i = 0; i < Array1.length(); i ++)
{
JSONArray Array2 = Array1.getJSONArray(i); //获取一维数组
Data[i] = new double[Array2.length()];
for(int j = 0; j < Array2.length(); j ++)
Data[i][j] = Array2.getDouble(j); //获取一维数组中的数据
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
return Data;
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
7 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)