java中把json怎么转换成数组? Java用Gson把json怎么转成数组(不是json数组)

java\u4e2d\u600e\u4e48\u628ajson\u8f6c\u6362\u6210\u5bf9\u8c61\u6570\u7ec4

1\u3001\u4f7f\u7528\u539f\u751f\u7684\u89e3\u6790\uff1a
String json = "...";
JSONArray array= new JSONArray(json);
//\u904d\u5386\u6570\u7ec4\u91cc\u7684\u503c\uff0c\u5f97\u5230\u6bcf\u4e2a\u72ec\u7acb\u7684\u5bf9\u8c61\uff0c\u7136\u540e\u83b7\u53d6\u5bf9\u5e94\u7684\u503c\u8bbe\u7f6e\u5230\u58f0\u660e\u597d\u7684\u5bf9\u8c61\u4e2d\uff0c\u6700\u7ec8\u521b\u5efa\u5bf9\u8c61\u5b8c\u6210\u540e\u6dfb\u52a0\u5230\u96c6\u5408\u4e2d\uff0c\u5982\u6211\u81ea\u5df1\u4ee3\u7801\u91cc\u7684\u7247\u6bb5:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}

2\u3001\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\u5982Gson\uff0c\u4f46\u662f\u8fd9\u4e2a\u4f60\u5f97\u4fdd\u8bc1\u4f60\u7684JSON\u5b57\u7b26\u4e32\u4e2az

1\u3001\u4f7f\u7528\u539f\u751f\u7684\u89e3\u6790\uff1a
String json = "...";
JSONArray array= new JSONArray(json);
//\u904d\u5386\u6570\u7ec4\u91cc\u7684\u503c\uff0c\u5f97\u5230\u6bcf\u4e2a\u72ec\u7acb\u7684\u5bf9\u8c61\uff0c\u7136\u540e\u83b7\u53d6\u5bf9\u5e94\u7684\u503c\u8bbe\u7f6e\u5230\u58f0\u660e\u597d\u7684\u5bf9\u8c61\u4e2d\uff0c\u6700\u7ec8\u521b\u5efa\u5bf9\u8c61\u5b8c\u6210\u540e\u6dfb\u52a0\u5230\u96c6\u5408\u4e2d\uff0c\u5982\u6211\u81ea\u5df1\u4ee3\u7801\u91cc\u7684\u7247\u6bb5:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}

2\u3001\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\u5982Gson\uff0c\u4f46\u662f\u8fd9\u4e2a\u4f60\u5f97\u4fdd\u8bc1\u4f60\u7684JSON\u5b57\u7b26\u4e32\u4e2az

使用原生的解析:

String json = "...";

//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:

for (int j = 0; j < array.length(); j++) {

obj = array.getJSONObject(j);

Data data = new Data();

mDataList.add(data);

}

数组声明

在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

以上内容参考:百度百科-数组



有两种方法实现:
(1)直接转换:
创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:
//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。
ArrayList<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 3; i++) {
persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合
}
JSONArray array = new JSONArray();// Json格式的数组形式
JSONObject obj;//json格式的单个对象形式
for (int i = 0; i < persons.size(); i++) {
obj = new JSONObject();
//依次填充每一个Java实体对象
try {
obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充
obj.put("sex", persons.get(i).getSex());
obj.put("married", persons.get(i).getMarried());
obj.put("address", persons.get(i).getAddress());
array.put(obj);//将JSONObject添加入JSONArray
} catch (JSONException e) {
e.printStackTrace();
}
}
(2)通过GSON工具实现:
只需要创建GSON对象,通过toJson方法转换即可。如例:
//模拟Java数据
Person person = new Person("敏敏", 23, "女", "北京市海淀区");
//创建GSON对象
Gson gson = new Gson();
//调用toJson方法即可转换为字符串的json格式
String json = gson.toJson(person);

java中把json怎么转换成数组的方法:

1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}

2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z



1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}

2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z

  • 鐢java鎬庝箞鎶婁竴涓json瀛楃涓杞崲鎴涓涓猼reegrid_data.json瀛楃涓,灏辨槸...
    绛旓細濡傛灉鏄痟ibernate jsonlib鏈変釜config閰嶇疆涓涓嬪氨OK JsonConfig jsonConfig = new JsonConfig();jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);jsonConfig.setExcludes(new String[] { "handler","hibernateLazyInitializer" });jsonConfig.registerJsonValueProcessor(java.util.Date.clas...
  • java涓璲son瀵硅薄鏄濡備綍鍒涘缓鎴栬杞崲鍑烘潵鐨
    绛旓細JSONObject鍦↗AVA涓叾瀹炲氨鐩稿綋浜嶮ap, 鍙互閫氳繃key鍙栧埌鍊硷紱鑰孞AVA瀵硅薄锛屼竴鑸槸JAVA涓殑model鎴栬卍omain 妯″瀷瀵硅薄锛 杩欑瀵硅薄浠h〃鐨勬槸涓涓笟鍔$殑妯″瀷锛屾槸鏈夋槑纭殑鎰忎箟鐨勶紝 鍖呮嫭閲岄潰鐨勫睘鎬х被鍨嬮兘鏄槑纭畾涔夛紱杞崲鎴瀵硅薄涔嬪悗锛屾搷浣滃叾涓殑鍊煎氨鍙互鐢╣etter,setter鏂规硶鏄庣‘鎸囧畾锛屼竴鑸叾浠栦汉浣跨敤鐨勬椂鍊欎篃鑳界煡閬撻噷闈...
  • JAVA涓浣曞皢涓涓猨son褰㈠紡鐨勫瓧绗︿覆杞负json瀵硅薄?
    绛旓細org.json.jsonobject 鍘讳笅涓涓繖涓猨ar鍖呭惂銆傛槸涓撶敤澶勭悊json瀛楃涓茬殑銆備綘鐨勮繖涓渶姹傚鏋滃璞″崟涓瀹屾垚鍙互鍗婅嚜鍔ㄥ寲瀹屾垚銆俲sonobject json = new jsonobject(json瀛楃涓);if(json.has("浣犺瑙f瀽鐨刯son鏄惁瀛樺湪")){ //...鍒涘缓浣犵殑瀵硅薄銆//...瑙f瀽鍊煎苟璧嬪肩粰浣犵殑瀵硅薄 } 濡傛灉瑕佸疄鐜板畬鎴愯嚜鍔ㄨВ鏋愬氨寰...
  • 浣跨敤Jackson搴撹繘琛JSON搴忓垪鍖栧拰鍙嶅簭鍒楀寲
    绛旓細鍦ㄧ幇浠eb寮鍙戜腑锛孞SON浣滀负鏁版嵁浜ゆ崲鐨勬爣鍑嗘牸寮忥紝Java缂栫▼涓浣楂樻晥鍦板鐞JSON杞崲鑷冲叧閲嶈銆侸ackson搴撲綔涓哄叾涓殑浣间郊鑰咃紝鎻愪緵浜嗕赴瀵岀殑鍔熻兘锛屾敮鎸丣ava瀵硅薄涓JSON鏁版嵁鐨楂樻晥杞崲銆傛湰鏂囧皢鐫閲嶄粙缁岼ackson搴撳湪JSON搴忓垪鍖栧拰鍙嶅簭鍒楀寲鏂归潰鐨勫簲鐢ㄣ傞鍏堬紝JSON搴忓垪鍖栨槸灏咼ava瀵硅薄杞崲鎴JSON瀛楃涓茬殑杩囩▼銆備緥濡傦紝褰撲竴涓...
  • java,鐗规畩绫诲瀷json瀛楃涓杞崲鎴瀵硅薄
    绛旓細JSON涓java浜杞殑寮婧愬簱鏈夊緢澶 Gson XStream JSONObject 绛夐兘鏄交鏉惧疄鐜板疄鐜板璞′笌JSON瀛楃涓蹭簰杞殑 浣犺繖涓渶姹傚緢绠鍗 浠ヤ笅灏辨槸浠g爜,娉ㄦ剰瑕佸紩鐢ㄤ竴涓狫SONObject鐨刯ar鍖 String json = "{\"tdhghg\": {\"A\":\"yyrtysefsf\",\"B\":2}}";JSONObject jsonObj = new JSONObject(json);Iterator...
  • java涓,json鏍煎紡鐨瀛楃涓杞崲鎴瀵硅薄
    绛旓細瑕佷娇绋嬪簭鍙互杩愯蹇呴』寮曞叆JSON-lib鍖咃紝JSON-lib鍖呭悓鏃朵緷璧栦簬浠ヤ笅鐨凧AR鍖咃細1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar
  • 銆愰珮鍒嗘眰鍔┿java 涓 鏁扮粍鏍煎紡鐨 json 鎬庝箞杞垚 xml
    绛旓細棣栧厛妤间富鐨刯son鏁版嵁鏈夐棶棰樸備笅闈唬鐮佷翰娴嬶紝鍙敤锛屼袱涓枃浠舵斁鍦ㄥ悓绾х洰褰曪細Test.java public class Test { public static void main(String[] args) {ConvertXMLtoJSON();String jStr = "{\"users\": {\"user\": ["+ "{\"uid\": \"1\", \"node_id\": \"2\",\"children\": [{...
  • java涓浣曞皢json瀛楃涓杞垚yyyy-mm-dd
    绛旓細+day } else if(format && "yyyy/mm/dd hh:mi:ss" == format){ return year+"/"+month+"/"+day+" "+hours+":"+minutes+":"+seconds } return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;} return date;} formatDate锛堜綘鐨勬棩鏈JSON瀵硅薄锛'yyyy-MM-dd'锛
  • 鎬庝箞灏唈son瀵硅薄杞崲鎴涓涓java瀵硅薄
    绛旓細public static void jsonStrToJava(){ //瀹氫箟涓ょ涓嶅悓鏍煎紡鐨勫瓧绗︿覆 String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"鍖椾含甯傝タ鍩庡尯\"}";String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"鍖椾含甯傝タ鍩庡尯\"}]";//1銆佷娇鐢↗SONObject ...
  • Java 灏涓涓猄tring 褰㈠紡鐨刯son杞寲鎴Map,姣斿"{\"a\":\"1\",\"b\...
    绛旓細灏涓涓猄tring 褰㈠紡鐨刯son杞寲鎴Map鐨凧ava绋嬪簭濡備笅:import java.util.HashMap;import java.util.Iterator;import java.util.Map;import org.json.JSONObject;public class FFF { public static void main(String[] args) { String s="{\"a\":\"1\",\"b\":2,\"c\":\"2016-5\"}"; ...
  • 扩展阅读:java入门网站 ... json视频源导入 ... json在线加密网站 ... java中json转换成对象 ... 在线json转rton网站 ... java中string变json ... json怎么打开成视频 ... json在线网址 ... 集合转jsonarray ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网