如何转换string到一个带list属性的对象 fastjson fastjson怎么将一个字符串转换成list<map<st...

java\u4e2d\u4e00\u4e2a\u5305\u542bbean\u5c5e\u6027\u7684list\u96c6\u5408 \u5982\u4f55\u8f6c\u6362\u6210JSON

\u3000\u3000java\u4e2d\u7684list\u662f\u6570\u7ec4\u7684\u53d8\u5f62\uff0c\u6362\u53e5\u8bdd\u8bf4\uff0clist\u5c31\u662f\u53ef\u53d8\u6362\u957f\u5ea6\u7684\u6570\u7ec4\u3002\u56e0\u6b64java\u4e2d\u7684list\u8f6c\u6362\u6210JSON\u540e\u5c31\u6210\u4e86JSON\u4e2d\u7684\u6570\u7ec4\uff1b
\u3000\u3000JSON(JavaScript Object Notation) \u662f\u4e00\u79cd\u8f7b\u91cf\u7ea7\u7684\u6570\u636e\u4ea4\u6362\u683c\u5f0f\u3002\u5b83\u57fa\u4e8eECMAScript\u7684\u4e00\u4e2a\u5b50\u96c6\u3002 JSON\u91c7\u7528\u5b8c\u5168\u72ec\u7acb\u4e8e\u8bed\u8a00\u7684\u6587\u672c\u683c\u5f0f\uff0c\u4f46\u662f\u4e5f\u4f7f\u7528\u4e86\u7c7b\u4f3c\u4e8eC\u8bed\u8a00\u5bb6\u65cf\u7684\u4e60\u60ef\uff08\u5305\u62ecC\u3001C++\u3001C#\u3001Java\u3001JavaScript\u3001Perl\u3001Python\u7b49\uff09\u3002\u8fd9\u4e9b\u7279\u6027\u4f7fJSON\u6210\u4e3a\u7406\u60f3\u7684\u6570\u636e\u4ea4\u6362\u8bed\u8a00\u3002 \u6613\u4e8e\u4eba\u9605\u8bfb\u548c\u7f16\u5199\uff0c\u540c\u65f6\u4e5f\u6613\u4e8e\u673a\u5668\u89e3\u6790\u548c\u751f\u6210(\u4e00\u822c\u7528\u4e8e\u63d0\u5347\u7f51\u7edc\u4f20\u8f93\u901f\u7387)\u3002
\u3000\u3000java\u4e2d\u5c06\u4e00\u4e2ajava\u5bf9\u8c61\u8f6c\u6362\u6210\u4e00\u4e2ajson\uff0c\u5982\u679c\u8981\u53bb\u5b9e\u73b0\u7684\u8bdd\uff0c\u6bd4\u8f83\u9ebb\u70e6\uff0c\u5f53\u4e0b\u6709\u5f88\u591ajava\u5bf9\u8c61\u4e0ejson\u5b57\u7b26\u4e32\u4e4b\u95f4\u8f6c\u6362\u7684\u5de5\u5177\uff0c\u4f8b\u5982google\u7684\u5f00\u6e90\u5de5\u5177Gson\uff08jar\u5305\uff09\uff0c\u901a\u8fc7\u5b83\u5c31\u53ef\u4ee5\u76f4\u63a5\u5c06java\u5bf9\u8c61\u4f5c\u4e3a\u5165\u53c2\u4f20\u8fdb\u53bb\uff0c\u8fd4\u56de\u4e00\u4e2ajson\u5b57\u7b26\u4e32\u3002

\u4f7f\u7528fastjson \u5c31\u4e0d\u8981\u518d\u60f3 list\u3001map \u4e86\uff0c\u7528api \u5904\u7406\u66f4\u52a0\u65b9\u4fbf\u554a\u3002
JSON.parseArray(jsonstr) \u8fd4\u56de\u7684 JsonArray \u5c31\u662f\u4f60\u60f3\u8981\u7684 list

需要导入fastjson所需要的jar包,具体为json-lib-2.3-jdk15.jar 、commons-beanutils-1.7.0.jar 、commons-httpclient-3.1.jar 、commons-lang-2.3.jar 、commons-logging-1.0.4.jar 、commons-collections-3.1.jar 、ezmorph-1.0.3.jar 、fastjson-1.1.6.jar。

具体代码如下:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class JedisTest {

@SuppressWarnings("unchecked")
@Test
public <T> void strToJson() {

 /*
 * 模拟fastjson数据
 */

HashMap<String, String> user1 = new HashMap<>();
user1.put("id", "1");
user1.put("name", "a");
user1.put("sex", "男");
HashMap<String, String> user2 = new HashMap<>();
user2.put("id", "2");
user2.put("name", "3");
user2.put("sex", "女");
List<T> list = new ArrayList<>();
list.add((T) user1);
list.add((T) user2);
Map<String, T> map = new HashMap<>();
map.put("list", (T) list);
JSONObject jsons = (JSONObject) JSON.toJSON(map);
System.out.println("输出结果为:");
System.out.println(jsons);

/*
 * 封装需要字符串
 */
Map<String, T> ress = JSON.toJavaObject(jsons, Map.class);

List<T> result = (List<T>) ress.get("list");

// 需要加入的String
String str = "Hello World!";

// 加入方式建议给一个键值
HashMap<String, String> say = new HashMap<>();
say.put("key", str);
result.add((T) say);

// 重新装载
ress = new HashMap<>();
ress.put("list", (T) result);
JSONObject json = (JSONObject) JSON.toJSON(ress);
System.out.println("处理过后的json数据:");
System.out.println(json);

}
}

下面是测试结果:
输出结果为:
{"list":[{"id":"1","name":"a","sex":"男"},{"id":"2","name":"3","sex":"女"}]}
处理过后的json数据:
{"list":[{"id":"1","name":"a","sex":"男"},{"id":"2","name":"3","sex":"女"},{"key":"Hello World!"}]}


只要你的json格式是正确的,直接把这个json字符串用fastjson转换就可以了啊。

  • C++ string 杞寲涓篖PCTSTR
    绛旓細C++ string 杞寲涓篖PCTSTR鍙互鍙傝冧笅闈㈢殑浠g爜锛歴tring str = "hello";CString cstr(str.c_str());MoveFile锛坈str锛...锛; //CString 鑷姩杞负LPCTSTR
  • 鍦╲b涓,鎬庢牱鎶涓涓鏁板瓧浠string杞崲涓篒nteger
    绛旓細鐜板湪瀛楃涓瞐灏杞崲鎴愪簡鏁村瀷鏁癷銆2.鐢ㄧ被鍨嬭浆鎹㈠嚱鏁癈int()Dim a as string,i as integera="12.53"i=Cint(a)3.鐢╒al()鍑芥暟璇ュ嚱鏁拌繑鍥炲寘鍚簬瀛楃涓插唴鐨勬暟瀛,瀛楃涓蹭腑鏄涓涓閫傚綋绫诲瀷鐨勬暟鍊笺侱im a as string,i as integera="12.53"i=Val(a)璇存槑:杩欓噷鐨勨渋=Val(a)鈥濆疄闄呬笂涔熺敤鍒颁簡涓婇潰璇寸殑寮哄埗杞崲...
  • 涓涓猻tring绫诲瀷瀛楃涓 濡備綍杞崲涓轰竴涓暟缁?
    绛旓細Option Explicit'璇疯嚜琛屾坊鍔 Text1(0) 鍜 Text1(1) 绛夋暟缁勬帶浠禤rivate Sub Form_Load() Dim StringText$, l&, i& l = 2: i = 1 StringText = "Text" + CStr(l - 1) + "(" + CStr(i - 1) + ")" '妯℃嫙 Text1(0) StringText = StringText & ".text=宸茬粡...
  • char*鍒發ong濡備綍杞崲
    绛旓細char *ultoa(unsigned long value锛宑har *string锛宨nt radix)value 瑕杞崲鐨勬暟銆String 瀛楃涓茬粨鏋溿俁adix value鐨勫熀鏁般傛樉鐒舵槗瑙侊細i涓篿nt锛l涓簂ong锛寀l涓簎nsigned long銆傛暟瀛椾笉澶ф椂锛岀敤閿欎簡鍩烘湰娌″奖鍝嶃傝鏄庯細姝ょ被鍑芥暟鏄妸 value杞崲鎴涓涓浠ョ┖鏍肩粨灏剧殑瀛楃涓,骞跺瓨鍌鍦╯tring涓(鑷冲33涓瓧鑺...
  • 鐢↗ava瀹炵幇:缁欏畾涓涓闀垮害涓簄鐨勫瓧绗︿覆S,杩樻湁涓涓暟瀛L,缁熻闀垮害澶т簬绛変簬L...
    绛旓細a.childs(L,s);} public void childs(int L,String s){ String s1[][]=new String[60][60];int in[][]=new int[60][60];int max=0;int td=0;int tj=0;for(int i=L;i<s.length();i++)for(int j=0;j<=s.length()-i;j++){ s1[i][j]=s.substring(j,j+i);} ...
  • c璇█缂栫▼,鎻愮ず杈撳叆涓涓瀛楃涓瞫tring,鐒跺悗鍦╯tring閲岄潰姣忎釜瀛楁瘝闂村姞涓...
    绛旓細3銆佽闂瓧绗︽搷浣滐紝string鍙互鎸夋暟缁勬柟寮忥紝浠ヤ笅鏍囨潵璁块棶銆傝繕鍙互鐢╝t()鍑芥暟璁块棶鎸囧畾鐨勫瓧绗︺4銆佸彲浠ヤ娇鐢 STL 鐨勬帴鍙o紝鍙互鎶 string 鐞嗚В涓涓涓鐗规畩鐨勫鍣紝瀹瑰櫒涓鐨勬槸瀛楃銆5銆佹瘮杈冩搷浣 == != > >= < <= compare 绛夛紝string鐨姣旇緝鎿嶄綔锛屾寜瀛楃鍦ㄥ瓧鍏镐腑鐨勯『搴忚繘琛岄愪竴姣旇緝銆傚湪瀛楀吀鍓嶉潰...
  • 濡備綍鎶婅緭鍏ョ殑String绫诲瀷杞崲涓16杩涘埗绫诲瀷
    绛旓細string hexOutput = String.Format("{0:X}", value);Console.WriteLine("Hexadecimal value of {0} is {1}", letter, hexOutput);} /* Output:Hexadecimal value of H is 48 Hexadecimal value of e is 65 Hexadecimal value of l is 6C Hexadecimal value of l is 6C Hexadecimal value ...
  • C#楂樻墜璇锋暀string l="0x31"鎬庝箞杞崲鎴愬瓧绗1;
    绛旓細鍏堜互16杩涘埗杞崲鎴愬瓧鑺 鐒跺悗 ascii杞爜鎴 瀛楃
  • c璇█鎬庝箞鎶婁竴涓插瓧绗杞鎴涓涓瀛楃涓层
    绛旓細鏂规硶涓猴細System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N)銆傝嚦浜庡皢鏁板杞崲涓篠tring绫诲瀷锛屾湁涓畝鍗曠殑鏂规硶锛屽嵆鍦ㄦ瘡涓暟鍊煎悗鍔犱笂[ +鈥溾漖 涓嫭鍙蜂腑鐨勯儴鍒嗗嵆鍙紝濡備笅闈唬鐮侊細濡備笅闈唬鐮侊細int i=0;int j=0;nt k=0;int l=0;System.out.println(i+""+j+""+k+""+l);杩欐牱灏辫緭鍑虹殑...
  • String甯镐娇鐢ㄧ殑鏂规硶鏈夊摢浜?
    绛旓細绗簩绉嶆槸锛歋tring substring(int startIndex,int endIndex)13銆乧oncat() 杩炴帴涓や釜瀛楃涓 14 銆乺eplace() 鏇挎崲 瀹冩湁涓ょ褰㈠紡锛岀涓绉嶅舰寮忕敤涓涓瀛楃鍦ㄨ皟鐢ㄥ瓧绗︿覆涓墍鏈夊嚭鐜版煇涓瓧绗︾殑鍦版柟杩涜鏇挎崲锛屽舰寮忓涓嬶細String replace(char original,char replacement)渚嬪锛String s="Hello".replace('l','w')...
  • 扩展阅读:java string split ... 如何把string变为int ... string h ... string转list对象的方法 ... 属于string类的方法 ... string的方法有哪些 ... c++ string 转int ... int强制转换string ... 写出string的常用的方法 ...

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