Ext中json解析如何获取属性名

Ext中json解析如何获取属性名,第1张

首先,回到第一篇。使用Extapply为Ext对象添加了一些属性

Extapply(Ext, {

USE_NATIVE_JSON : false,

});

USE_NATIVE_JSON 即为其中之一, 可以使用它来设置是否开启浏览器原始的JSON(即JSONparse,JSONstringify)来解析或反解析。这是ECMA5中加入的,在 字符串转换成JSON的三种方式中已经提到。

该值初始为false,即不开启。设置为true则开启如

ExtUSE_NATIVE_JSON = true;

ExtutilJSON 内部定义了一些私有方法,对外公开的有三个方法

encodeDate 将日期对象转成字符串

encode 将JS对象转成字符串

decode 将字符串转成JS对象

此外,encode和decode分别赋值给了Extencode和Extdecode。如

Extencode = ExtutilJSONencode;

Extdecode = ExtutilJSONdecode;

即开发时可以使用更简短的Extencode和Extdecode而非冗长的ExtutilJSONencode和ExtutilJSONdecode。

获取JSON的值。  就是解析JSON数据

如果是简单的JSON数据, 并且只需要提取少量数据的值, 那么可以使用字符串的 *** 作来实现,比如StringsubString()等

如果是比较复杂的JSON数据,或者需要提取的值比较多, 那么可以使用Gson, FastJSon 等第三方的jar来实现

简单的Demo示例

第三方包使用的是Gson

import comgooglegsonJsonElement;

import comgooglegsonJsonObject;

import comgooglegsonJsonParser;

public class GsonTest {

public static void main(String[] args) {

String strJson = "{ \"name\": \"张三\", \"age\": 12 }";

JsonParser parser = new JsonParser();

JsonElement je = parserparse(strJson);

JsonObject jobj = jegetAsJsonObject();//从json元素转变成json对象

String name = jobjget("name")getAsString();//从json对象获取指定属性的值

Systemoutprintln(name);

int age = jobjget("age")getAsInt();

Systemoutprintln(age);

}

}

jq框架下,给个示例,仅供参考:

var objs = $parseJSON('[{"name":"aaa","age":"22"},{"name":"bbb","age":"33"}]');

var str  = '';

$each(objs, function(k, obj){

    str += objname + ' is ' + objage + "\n";

});

alert(str);

private static String Encode() {

JSONObject obj = new JSONObject();

ArrayList<String> array1 = new ArrayList<String>();

array1add("Class A");

array1add("Class B");

objput(CLASS_DIAGRAM_SAME, array1);

ArrayList<String> array2 = new ArrayList<String>();

array2add("Class C");

array2add("Class D");

objput(CLASS_DIAGRAM_1, array2);

ArrayList<String> array3 = new ArrayList<String>();

array3add("Class E");

array3add("Class F");

objput(CLASS_DIAGRAM_2, array3);

return objtoJSONString();

}

//=================================

CLASS_DIAGRAM_SAME等是final字符串,我就不贴了,简单的生成,一看就懂

下面两段是简单的读取,你可以举一反三,很容易明白

//=================================

Systemoutprintln(objget(CLASS_DIAGRAM_SAME));

Systemoutprintln(objget(CLASS_DIAGRAM_1));

Systemoutprintln(objget(CLASS_DIAGRAM_2));

Systemoutprintln("Same classes:");

ArrayList<String> array1 = (ArrayList<String>)objget(CLASS_DIAGRAM_SAME);

for (String same : array1) {

Systemoutprintln(same);

}

为什么要部分读呢?直接用js不来的更快嘛?

var class = eval('(' +json+ ')');

然后classitems[n]ref不就可以了嘛

angularjs读取json中的某个字段的方法是利用json的api实现的。

思路:先把js字符串转化成json结构,然后利用取属性运算符获取各个属性。

1、例如有以下json数据:

var data = {

"resultList": [

"{\"lookupKey\":2,\"clientKey\":1,\"codeName\":\"ApplicationAppType\",\"codeValue\":\"ApplicationType2\",\"codeDesc\":\"##\",\"updatedBy\":null,\"internalCodeName\":\"ApplicationAppType\"}",

"{\"lookupKey\":3,\"clientKey\":1,\"codeName\":\"ApplicationClass\",\"codeValue\":\"Tier 1\",\"codeDesc\":\"Critical Application requiring immediate response in case of a disruption of Service\",\"updatedBy\":null,\"internalCodeName\":\"ApplicationClass\"}"

]

};

2、利用angularfromJson解析代码如下:

$scoperesult = [

angularfromJson(dataresultList[0]),

angularfromJson(dataresultList[1])

];

alert($scoperesult[0]codeName);

结果是:ApplicationClass

3、这样就获取到了json字符串中的codeName的值。

以上就是关于Ext中json解析如何获取属性名全部的内容,包括:Ext中json解析如何获取属性名、java怎么取json数据的值、如何将一个json数组类型的字符串转换为json数组,然后遍历数组取出json对象,最后在js中取出里面的属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9744167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存