Json数据如何解析,Json数据解析?
Json {"faclity": {
"Status": 200,
"StateDescription": "success",
"Content": [
{
"ID": "1",
"Text": "1车间",
"Extend": null
},
{
"ID": "321",
"Text": "321",
"Extend": null
}
],
"Token": null
},
"line": {
"Status": 200,
"StateDescription": "success",
"Content": [
{
"ID": "1",
"Text": "1车间",
"Extend": null
},
{
"ID": "321",
"Text": "321",
"Extend": null
}
],
"Token": null
}
}
解决方案
复制上去 看看给你的Bean
不过不建议初期就用 先把数据转换为Json对象a,再从a对象获取Json对象b,再然后从b对象获取数组Content对象,再遍历数组
+1 下载一个Gson jar包,直接解析,简单好用,前提是得把bean写好。 楼主到时候分享一下经验啊,我知道的是用GsonFromat插件,效果如链接http://blog.csdn.net/dakaring/article/details/46300963
还有就是如果想把json对象变成javabean对象可以再使用net.sf.json-lib里面的JsonObject的fromObject(字符串)再把得到的json对象toBean就可以从json字符串变成javabean了. 1、建议使用org.json包下的JSONObject或JSONArray解析,熟悉后可以使用第三方的框架 好喜欢JSON 1.必须引入gson.jar到classpath.
2.进行解析:
2.1实体,需要与json数据中的对应:
import java.util.List;
/**
* 解析实体.
*
* Created by puruidong on 2016/5/11.
*/
public class Entity {
private JsonContent faclity;// 对应json中的faclity.
private JsonContent line;// 同上
public JsonContent getFaclity() {
return faclity;
}
public void setFaclity(JsonContent faclity) {
this.faclity = faclity;
}
public JsonContent getLine() {
return line;
}
public void setLine(JsonContent line) {
this.line = line;
}
class JsonContent{
public List<ContentSub> getContent() {
return Content;
}
public void setContent(List<ContentSub> content) {
Content = content;
}
public String getStateDescription() {
return StateDescription;
}
public void setStateDescription(String stateDescription) {
StateDescription = stateDescription;
}
public int getStatus() {
return Status;
}
public void setStatus(int status) {
Status = status;
}
private int Status;
private String StateDescription;
private List<ContentSub> Content;
}
class ContentSub{
private String ID;
private String Text;
private String Extend;
public String getExtend() {
return Extend;
}
public void setExtend(String extend) {
Extend = extend;
}
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getText() {
return Text;
}
public void setText(String text) {
Text = text;
}
}
}
2.2 解析并输出:
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
// 模拟从网络请求的数据.
String json = "{\"faclity\":{\"Status\":200,\"StateDescription\":\"success\",\"Content\":[{\"ID\":\"1\",\"Text\":\"1车间\",\"Extend\":null},{\"ID\":\"321\",\"Text\":\"321\",\"Extend\":null}],\"Token\":null},\"line\":{\"Status\":200,\"StateDescription\":\"success\",\"Content\":[{\"ID\":\"1\",\"Text\":\"1车间\",\"Extend\":null},{\"ID\":\"321\",\"Text\":\"321\",\"Extend\":null}],\"Token\":null}}";
// 使用Gson进行解析.
Gson gson = new Gson();
Entity en = gson.fromJson(json,Entity.class);
// 输出对象中的数据.
System.out.println(en.getLine().getStatus());
System.out.println(en.getFaclity().getStateDescription());
}
}
输出:
200
success
希望可以帮到你 gson.jar下载地址:http://download.csdn.net/download/kaim2015/9220291
android可以直接在build.gradle中加入:
compile 'com.google.code.gson:gson:2.6.2'
就这样输入之后,然后重新编译生成即可。
用户评论