C++如何获取json数组的第几位是啥

C++如何获取json数组的第几位是啥,第1张

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似_址椤

所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的 零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入 数组

<%@ page language="java" import="javautil" pageEncoding="gbk"%>

<%@page import="orgjsonsimpleJSONObject"%>

<%@page import="orgjsonsimpleparserJSONParser"%>

<%@page import="orgjsonsimpleJSONValue"%>

<%@page import="orgjsonsimpleJSONArray"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">

<html>

<head>

<title>获取json内部数据html</title>

<meta >

<meta >

<meta >

<!--<link rel="stylesheet" type="text/css" href="/stylescss">-->

</head>

<body>

<table id="deptPersonList" title="部门信息列表" class="easyui-datagrid"

singleSelect="true" fit="true" pagination="true"

idField="deptPersonId" url="deptPersonInfo" width="800px"

rownumbers="false" striped="true">

<thead>

<tr>

<th field="deptPersonId" width="6" checkbox="true">

编号

</th>

<th field="sysPerson" width="60%" sortable="true">

人员名称

</th>

<th field="sysDepartment" width="30%" sortable="true">

部门名称

</th>

</tr>

</table>

</body>

<script type="text/javascript">

/

json格式如下

{"total":11,"rows":[{"deptPersonId":"1","sysDepartment":{"deptName":"人事"},"sysPerson":{"personName"}}]}

/

var json = {"total":11,

            "rows":[{"deptPersonId":"1",

         "sysDepartment":{"deptName":"人事"},

                     "sysPerson":{"personName":"张丽安"}

                    }

                   ]

           };

/

获取josn对象数据,是一层一层进行的。

/

/

js获取json元素中的子元素如deptName,personName

/

alert(jsonrows[0]sysDepartmentdeptName);

alert(jsonrows[0]sysPersonpersonName);

</script>

<%

//jsp获取json元素中的子元素如deptName,personName

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

//使用 json_simplejar包 处理json字符

//然后获取json对象中的数据

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

//声明JSON字符串

String json = "{\"tota\":11,"+

               "\"rows\":["+

                         "{\"deptPersonId\":\"1\","+

                        "\"sysDepartment\":{"+

                                           "\"deptName\":\"人事\"},"+

                                           "\"sysPerson\":{\"personName\":\"张丽安\"}"+

                                           "}"+

                       "]"+

              "}";

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

// 最终的JSON字符如下:

//       {"total":11,

    //        "rows":[{"deptPersonId":"1",

//          "sysDepartment":{"deptName":"人事"},

    //                 "sysPerson":{"personName":"张丽安"}

    //                }

    //                ]

    //        }

//

// 注意查结构

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

//{"tota":11,"rows":[{"sysPerson":{"personName":"张丽安"},"sysDepartment":{"deptName":"人事"},"deptPersonId":"1"}]}

//将字符串转化为JSON对象

Object JSON = JSONValueparse(json);

//JSONObject继承自 HashMap

JSONObject JO = (JSONObject) JSON;

outprint(JSONtoString());

outprint("<br>");

//查看JSONObject对象元素长度

int length = JOsize();

outprint(length);

outprint("<br>");

outprint(JOtoString());

outprint("<br>");

//循环打印出元素数据

//for(int i = 0 ;i < length ; i++ ){

outprint("tota:<font color=red>" + JOget("tota") + "</font>");

outprint("<br>");

outprint("tota:<font color=red>" + JOget("rows") + "</font>");

outprint("<br>");

String rows = JOget("rows")toString();

//再次将rows对象转化为 JSONObject对象

JSONArray JO1 = (JSONArray) JSONValueparse(rows);

outprint(JO1size());

outprint("<br>");

JSONObject JO2 = (JSONObject)JO1get(0);

outprint("sysPerson:<font color=red>" + JO2get("sysPerson") + "</font>");

outprint("<br>");

outprint("sysDepartment:<font color=red>" + JO2get("sysDepartment") + "</font>");

outprint("<br>");

//再次获取

outprint("personName:<font color=red>" + ((JSONObject)JO2get("sysPerson"))get("personName") + "</font>");

outprint("<br>");

outprint("deptName:<font color=red>" + ((JSONObject)JO2get("sysDepartment"))get("deptName") + "</font>");

outprint("<br>");

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

// 备注 信息

// JSONObject 可以转化为 {key:value}形式的 JSON对象,该对象继承自 HashMap ,所以可以使用HashMap的方法

// JSONArray  可以装维为 [object,object,……] 形式的数据对象,该对象继承自ArrayList,

// 灵活运用,可基本满足 需求。

//}

%>

</html>

你需要 下载 json_simple-11-allzip文件,网上搜索。

处理后如下:

js/json 数组的 *** 作

1、数组的创建

var arrayObj = new

Array(); //创建一个数组

var arrayObj = new

Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array([element0[,

element1[, [, elementN]]]]); 创建一个数组并赋值

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问

var testGetArrValue=arrayObj[1];

//获取数组的元素值

arrayObj[1]= "这是新值"; //给数组元素赋予新的值

3、数组元素的添加

arrayObj push([item1 [item2 [

[itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度

arrayObjunshift([item1 [item2 [

[itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度

arrayObjsplice(insertPos,0,[item1[,

item2[,

[,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

4、数组元素的删除

arrayObjpop(); //移除最后一个元素并返回该元素值

arrayObjshift();

//移除最前一个元素并返回该元素值,数组中元素自动前移

arrayObjsplice(deletePos,deleteCount);

//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5、数组的截取和合并

arrayObjslice(start, [end]);

//以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素

arrayObjconcat([item1[, item2[,

[,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6、数组的拷贝

arrayObjslice(0);

//返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObjconcat();

//返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

arrayObjreverse();

//反转元素(最前的排到最后、最后的排到最前),返回数组地址

arrayObjsort(); //对数组元素排序,返回数组地址

8、数组元素的字符串化

arrayObjjoin(separator);

//返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。

toLocaleString 、toString

、valueOf:可以看作是join的特殊用法,不常用

var obj = {"pieTes":[{"colors":"Sony","value":7},{"colors":"Samsumg","value":14},{"colors":"LG","value":21},{"colors":"Vizio","value":34},{"colors":"Insignia","value":24}]};

var arr = new Array();

for(var i in xpieTes) {

arrpush([xpieTes[i]colors, xpieTes[i]value]);

}

alert(arr);

// 输出 Sony,7,Samsung,14,LG,21,Vizio,34,Insignia,24

alert 不会以数组形式显示,实际结果应该如图所示 consolelog(arr);

orgjson版本无所谓大同小异

//前4行基本是固定写法不用管他

import orgjsonJSONObject;

import orgjsonJSONArray;

String response_data = prevgetResponseDataAsString();// 获取返回的response

JSONObject data_obj = new JSONObject(response_data);//把获取到的json字符串转成对象

//先把最终需要获取的内容转换成对象,ps:get就是获取这个json下的数据 (json层级分明,根据层级一层层往下找即可)

JSONObject jsonObject_1 = data_objget("data")get("formData");

JSONObject jsonObject_1 = data_objget("data")get("formData");

//修改,新增直接用PUT 就可以

jsonObject_1 put("json字段名称",1);

//使用remove即可

jsonObject_1 remove("age");

//json中获取数组时,需要在get后面加JSONArray 最前面的也要改成JSONArray 

//getJSONObject(0)代表获取第一个数组数据

JSONArray jsonObject_2 =data_objget("data")getJSONArray("Array");getJSONObject(0);

JSONArray jsonObject_2 =data_objget("data")getJSONArray("Array");

//做一个for循环把数组里面需要修改的都修改一次 

for (int i = 0; i < jsonObject_2length(); i++)// 获取这个数组的长度进行循环

    {//在重新声明一个对象 (JSONObject)是强制转换的意思

    JSONObject jsonTemp = (JSONObject)jsonObject_2getJSONObject(i);

    for(int i=0;i<jsonTemplength(); i++)

        {//你要修改什么数据,需要获取他上一层的爸爸,然后进行 *** 作

           jsonTempput("field_confirm", "Y");

           jsonTempput("field_send_quantity", "89");

          }

     }

import orgjsonJSONObject;

import orgjsonJSONArray;

String response_data = prevgetResponseDataAsString();

JSONObject data_obj = new JSONObject(response_data);

//最开始设置好你需要获取json的那一部分内容,后面的修改都基于这个变量进行修改

JSONObject JsonData = data_objgetJSONObject("data");

JsonDataput("字段名","修改的内容");//可以加"",也可以不加 根据实际情况

//最后只需要把最开始设置的变量转成字符串即可

String NewData = JsonData toString();

//把字符串化的设置成jmeter的变量,即可用${变量名}调用

varsput("yp_body",NewData);

以上就是关于C++如何获取json数组的第几位是啥全部的内容,包括:C++如何获取json数组的第几位是啥、jsp获取json元素中的子元素如deptName,personName、js如何 *** 作多维json数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9316321.html

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

发表评论

登录后才能评论

评论列表(0条)