Json如何取值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json如何取值相关的知识,希望对你有一定的参考价值。

数据: "myRecord" : ["CourseID":"10101", "CourseSystem":"孕育课程"]复制内容到剪贴板代码:
function show()
var un=document.getElementById("CourseID");
var um=document.getElementById("CourseIDmsg");
if(!un.value)
um.innerhtml="<span style='color:red;'>请输入课程ID</span>";
return false;

um.innerHTML="正在检测,请稍候";
ajax.get(
"getdata.asp?CourseID="+un.value,
function(obj)
var ret = eval("(" + obj.responseText + ")");
var myRecord = ret.myRecord;
for (var i = 0; i < myRecord.length; ++i)
alert(myRecord[i].CourseID);
alert(myRecord[i].CourseSystem);

document.getElementById("p1").value = ret.p1;
document.getElementById("p2").value = ret.p2;

);
复制内容到剪贴板代码:
<div style="width:400px; height:400px;border:1px dotted #333;">
<input type="text" name="CourseID" id="CourseID" />
<div id="CourseIDmsg"> </div>
<span id="p1" ></span><span id="p2" ></span><br />
</div>
<a href="#" onmousemove="show();">鼠标滑过出现</a>===============================================

现在的问题是Json去不到myRecord里面的值,本人还是菜鸟,请教高手帮忙解决

把CourseID和CourseSystem中的值,取到id="p1"和id="p2"中

你打印出来有值吗?
还有span标签要用outerText来赋值和取值
document.getElementById("p1").outerText=ret.p1;
参考技术A 在使用ret之前先alert一下response.Text,看看有没有得到数据

java如何从List中取值

在下面这个发方法里,生成了两个随机数
public List<String> generatePonits()

List<String> pointList = new ArrayList<String>();
Random random = new Random();
for (; pointList.size() <= this.VERTEX_NUMBER;)
int x = Math.abs(random.nextInt())%100;
int y = Math.abs(random.nextInt())%100;
String pointStr = "(" + x + "," + y + ")";
if (!pointList.contains(pointStr))
pointList.add(pointStr);


return pointList;

我想在另外一个方法里分别提取到在这个方法中生成的两个随机数,应该用什么方法?
谢谢

要从一个List中取值,可以使用get()方法来获取指定索引位置的元素。在你提供的代码中,generatePonits()方法返回的是一个String类型的List,包含多个由随机生成的坐标组成的字符串。

如果你想要在另一个方法中分别提取出两个随机数,可以先通过get()方法获取对应索引位置的坐标字符串,然后再将其解析为数字。具体步骤如下:

```java
// 获取generatePonits()方法随机生成的第一个坐标字符串,并将其解析为数字
String point1Str = generatePonits().get(0);
int x1 = Integer.parseInt(point1Str.substring(1, point1Str.indexOf(",")));
int y1 = Integer.parseInt(point1Str.substring(point1Str.indexOf(",") + 1, point1Str.length() - 1));

// 获取generatePonits()方法随机生成的第二个坐标字符串,并将其解析为数字
String point2Str = generatePonits().get(1);
int x2 = Integer.parseInt(point2Str.substring(1, point2Str.indexOf(",")));
int y2 = Integer.parseInt(point2Str.substring(point2Str.indexOf(",") + 1, point2Str.length() - 1));
```

以上代码假设你想要获取generatePonits()方法随机生成的第一个和第二个坐标,并将它们包含的x和y坐标分别解析为整数。这里使用了String类的substring()方法来截取坐标字符串中的x和y坐标部分,并用Integer类的parseInt()方法将它们解析为整数。需要注意的是,由于坐标字符串的格式是"(x,y)",因此在使用substring()方法时需要去掉开头的"("和结尾的")"。

当然,如果你仅仅只是想在generatePonits()方法和另一个方法之间传递生成的随机数,也可以考虑将它们定义为类成员变量,而不是在generatePonits()方法内部声明。这样就可以在不同的方法之间共享这些随机数了。
参考技术A List<String> lists=new ArrayList<String>();
lists.add("aaa");
lists.add("bbb");
lists.add("ccc");
lists.add("ddd");
for(String list : lists)

System.out.println(list);
参考技术B 如果是在同一个类里:
List<String> pointList = generatePonits();
pointList.get(0); //获取第1个,以此类推
参考技术C List<String> pointList = generatePonits();

if(pointList != null && pointList.size() == 2)

int x = pointList.get(0);
int y = pointList .get(1);
本回答被提问者采纳
参考技术D 直接调用这个方法 把返回值接收了之后 pointList.get(0);就OK了 集合的下标从零开始的

以上是关于Json如何取值的主要内容,如果未能解决你的问题,请参考以下文章

ztree提取json部分数据取值为undefined

java如何从List中取值

json内容,该如何循环输出(JS)

json中带有中括号怎么取值?

javascript中数组取值的问题,如何取出键值对中的值?

js如何使用for循环往json添加数据?