问一个json数据结构问题 java的 5C

{
"file":"flash_lz.png",
"frames":{
"cghb_jxyx":{
"x":1764,
"y":874,
"w":243,
"h":134,
"offX":0,
"offY":0,
"sourceW":243,
"sourceH":134
}
}
}

这是由什么类型嵌套组成

48个回答

这种键值对形式,使用map,如果还有第三级,map里面再嵌套map,javabean封装对象。

就是json对象嵌套json对象,如果使用gson解析的话,需要写三个类;

public class PhotoBean{
private String path;
private PhotoFrame frames;
}

public class PhotoFrame{
private PhotoData cghb_jxyx;
}

public class PhotoData{
private float x;
private float y;
private int w;
private int h;
private float offX;
private float offY;
private int sourceW;
private int sourceH;
}

//如果想直接解析的话,直接
try{
String data = new JSONObject(jsonStr).getJSONObject("frames").getJSONObject("cghb_jxyx").toString;
//需要什么就解析什么
}catch(JsonException e){
}

JsonObject中嵌套JsonObject,外面再套一层JsonObject JsonObject{JsonObject{JsonObject{}}}

用gson这个框架可以直接转成对象

JSONObject嵌套就可以,新建另个JSONObject, json1, jsion2 josn1.put("frames",json2)

JsonObject{JsonObject{JsonObject}}

可以把整个json理解成为一个对象,
该对象下面有file,frames两个属性,
file存的是一个普通属性,
frames是一个对象,存的同样是一个对象cghb_jxyx。
对象cghb_jxyx存了一系列的普通属性。

json 对象嵌套

這是地址坐標, MAP 類型集成的 Json. 上頭顯示的變量, 都是地球座標軸位置, 偏量.

package org.boking.classwork.bean;

/**
 * json 
 *  1.可以封装成java bean 也就是简单的java对象,一般只包含属性和getter、setter方法
 *  2.也可以封装成map
 * 以上两点是对应 json 的最小元素来说,可以当然可以返回 List 和 数组等
 * 
 * 但是json的键名要和javabean 的属性名一致,和map的键名一致
 *  map 封装和接送格式很相似,因为两个数据结构都是键值对应。只不过json最外层没有键名,而map 要有键名
 * 
 * @author Boking
 *
 */
public class Json {

    private String file;
    // 因为你的数字属性没有双引号,所以不是字符类型
    private Frames frames;

    public String getFile() {
        return file;
    }

    public void setFile(String file) {
        this.file = file;
    }

    public Frames getFrames() {
        return frames;
    }

    public void setFrames(Frames frames) {
        this.frames = frames;
    }
}

class Frames {
    private Cghb_jxyx cghb_jxyx;

    public Cghb_jxyx getCghb_jxyx() {
        return cghb_jxyx;
    }

    public void setCghb_jxyx(Cghb_jxyx cghb_jxyx) {
        this.cghb_jxyx = cghb_jxyx;
    }

}

class Cghb_jxyx {
    private int x;
    private int y;
    private int w;
    private int h;
    private int offX;
    private int offY;
    private int sourceW;
    private int sourceH;

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getW() {
        return w;
    }

    public void setW(int w) {
        this.w = w;
    }

    public int getH() {
        return h;
    }

    public void setH(int h) {
        this.h = h;
    }

    public int getOffX() {
        return offX;
    }

    public void setOffX(int offX) {
        this.offX = offX;
    }

    public int getOffY() {
        return offY;
    }

    public void setOffY(int offY) {
        this.offY = offY;
    }

    public int getSourceW() {
        return sourceW;
    }

    public void setSourceW(int sourceW) {
        this.sourceW = sourceW;
    }

    public int getSourceH() {
        return sourceH;
    }

    public void setSourceH(int sourceH) {
        this.sourceH = sourceH;
    }
}

共48条数据 首页 2 4 5 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐