java 怎么取json 字段的数据 java怎么取json数据的值

JAVA\u600e\u4e48\u53d6JSON\u6570\u7ec4\u91cc\u7684\u503c\uff1f\uff1f\uff1f

\u9700\u8981\u5199\u4e00\u4e2a\u65b9\u6cd5\uff0c\u628ajson\u6570\u636e\u8f6c\u6362\u6210list\u96c6\u5408\u6570\u636e
public static List jsonToBean(String data, Object bean) {
List list = new ArrayList();

try {
JSONArray array;

try {
array = new JSONArray(data);
for (int i = 0; i < array.length(); i++) {
Object toBean = getBean(bean);
JSONObject ob = new JSONObject();
ob = (JSONObject) array.get(i);
toBean = jsonStrToBean(ob, toBean);
list.add(toBean);

}
return list;
} catch (JSONException e) {
try {
Object obj = null;
JSONObject jsonObj = new JSONObject(data);
Object toBean = getBean(bean);
toBean = jsonStrToBean(jsonObj, toBean);
list.add(toBean);
return list;
} catch (JSONException e1) {
log.error("Error covert String to JSONObject", e);
e1.printStackTrace();
}
e.printStackTrace();
log.error("Error covert String to JSONArray", e);
}

} catch (SecurityException e) {
e.printStackTrace();
}
return list;
}
\u7136\u540e\u53d6\u51falist\u96c6\u5408\u6570\u636e\u4e2d\u7684\u503c\u5e94\u8be5\u6ca1\u95ee\u9898\u4e86\u5427\u3002

\u83b7\u53d6JSON\u7684\u503c\u3002 \u5c31\u662f\u89e3\u6790JSON\u6570\u636e.
\u5982\u679c\u662f\u7b80\u5355\u7684JSON\u6570\u636e, \u5e76\u4e14\u53ea\u9700\u8981\u63d0\u53d6\u5c11\u91cf\u6570\u636e\u7684\u503c, \u90a3\u4e48\u53ef\u4ee5\u4f7f\u7528\u5b57\u7b26\u4e32\u7684\u64cd\u4f5c\u6765\u5b9e\u73b0,\u6bd4\u5982String.subString()...\u7b49
\u5982\u679c\u662f\u6bd4\u8f83\u590d\u6742\u7684JSON\u6570\u636e,\u6216\u8005\u9700\u8981\u63d0\u53d6\u7684\u503c\u6bd4\u8f83\u591a, \u90a3\u4e48\u53ef\u4ee5\u4f7f\u7528Gson, FastJSon \u7b49\u7b2c\u4e09\u65b9\u7684jar\u6765\u5b9e\u73b0...
\u7b80\u5355\u7684Demo\u793a\u4f8b
\u7b2c\u4e09\u65b9\u5305\u4f7f\u7528\u7684\u662fGson
import com.google.gson.JsonElement;import com.google.gson.JsonObject;import com.google.gson.JsonParser;public class GsonTest {public static void main(String[] args) {String strJson = "{ \"name\": \"\u5f20\u4e09\", \"age\": 12 }";JsonParser parser = new JsonParser();JsonElement je = parser.parse(strJson);JsonObject jobj = je.getAsJsonObject();//\u4ecejson\u5143\u7d20\u8f6c\u53d8\u6210json\u5bf9\u8c61String name = jobj.get("name").getAsString();//\u4ecejson\u5bf9\u8c61\u83b7\u53d6\u6307\u5b9a\u5c5e\u6027\u7684\u503cSystem.out.println(name);int age = jobj.get("age").getAsInt();System.out.println(age);}}

JSONObject j = new JSONObject();

j.put("id", "22");
j.put("name", "haha");
j.put("sex", "xixi");

System.out.println(j.get("id"));


先将json字符串转化为JSONObject对象(或者其他类似的类):
JSONObject jso = (JSONObject) JSONSerializer.toJSON(jsonStr);
此时就可以通过JSONObject 获取json元素了:
JSONArray jsa = JSONArray.fromObject(jso.get("list")); // 获取数组
JSONObject jso2 = jsa.get("otherJson"); // 获取另一级JSON
jso2 .getString("id1"); // 获取key为id1的字符串
……

扩展阅读:java入门网站 ... java 解析json ... javascript 在线 ... js 读取json ... java在线代码翻译器 ... java json转换 ... java json怎么转string ... javascript入门 ... java怎么返回json字符串 ...

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