render ( ['P' : jsonObject.picId, 'A' : jsonObject.audioId, 'C' : jsonObject.caption, 'V' : jsonObject.vidTemplateId ] as JSON)
def vidpNmList = [][]
vidpNmList[0] = jsonObject.picId
vidpNmList[1] = jsonObject.audioId
vidpNmList[2] = jsonObject.caption
def vsaInst = vdSlotService.storeVideoSlotData( vidpNmList, session)
def picId = vidpNmList[0]
def audioId = vidpNmList[1]
def caption = vidpNmList[2]
当标题[currSlotNo]的值为空时,该行将导致错误:
if(!(caption[currSlotNo]) ) {
log.debug(" caption is null and cannot be displayed. ")
}
HomeVu1.VdslotService updVideoSlotData pictureInst:331 Picid[currSlotNo]:331 HomeVu1.VdslotService updVideoSlotData Picmk:331
HomeVu1.VdslotService updVideoSlotData audmk:null
错误.处理请求时发生GrailsExceptionResolver JSONException:[POST]/HomeVu1/VideoShr/GetJSVidCoords
找不到JsonArray[0]..Stacktrace如下:org.codehaus.groovy.grails.web.json.JSONException:找不到JSONArray[0]。
如果引用vidpNmList数组中元素的值,也会出现相同的错误。
我做错了什么,或者是周围有一些工作?
def captionVal = null
try{ captionVal = caption[currSlotNo]
log.debug(" ${functionName} caption value assigned correctly ")
}
catch (Exception eWrite)
{
// fails - can only trap and work around the error atm.
log.debug(" ${functionName} caption value fails to assign correctly - remains at null default - Error Message: $eWrite")
}
显示将json对象标题元素从“null”字符串重置为实际的null后再分配给vidpnmlist的代码:
for (def iC = 0; iC < jsonObject.caption.size() ; iC++)
{
String currCap = jsonObject.caption[iC]
if( currCap == "null")
{
log.debug(" getJsVisCoords null value iC: $iC " + " caption[iC]: " + jsonObject.caption[iC] + " currCap Length: " + currCap.length())
jsonObject.caption[iC] = null
}
else
{
log.debug(" getJsVisCoords Non null value iC: $iC " + " caption[iC]: " + jsonObject.caption[iC] + " currCap Length: " + currCap.length())
}
}
vidpNmList[2] = jsonObject.caption
-迈克
不确定JSON在此场景中的作用,但看看上面的代码,您有其他选择:
直到您将这些列表收集为标题audioId picId时为止
def picId = vidpNmList[0]
def audioId = vidpNmList[1]
def caption = vidpNmList[2]
您显示了一个接近于以下内容的输出:
def picId=[331, 332, 334, null, null, null, null, null, null, null, null, null]
def audioId=[null, null, null, null, null, null, null, null, null, null, null, null]
def Captions=[null, 333, 333, null, null, null, null, null, null, null, null]
现在这是我玩的名单:
/ you are current failing on this
def pic=picId[0]
//instead of above element[id] try .get(id)
def cap=Captions.get(2)
println "--- ${pic} @@@ ${cap}"
//Then you can test by saying
if (cap&&something&&somethingEls) {
doSomething
}
我回来了
--- 331 @@@ 333
for (def iC = 0; iC < jsonObject.caption.size() ; iC++)
int iC=0
for (iC < jsonObject.caption.size() ; iC++) {
jsonObject?.caption?.eachWithIndex{ item, i ->
if (JSONObject.NULL.equals(item) {
item=null
}
}
vidpNmList[2] = jsonObject.caption
def finalList=[]
jsonObject?.caption?.eachWithIndex{ item, i ->
if (JSONObject.NULL.equals(item) {
item=null
}
finalList << item
}
vidpNmList[2] = finalList
jsonObject?.caption?.each{ item ->
if (JSONObject.NULL.equals(item) {
item=null
}
}
vidpNmList[2] = jsonObject.caption
if (!item ||(item && item=='null')) {
item=null
}
我有以下代码来解析一个JSON文件: 要处理以下JSON文件: 如果我执行此代码,我将收到以下错误: 所以我开始一步一步地调试应用程序,看看part processing()中的哪个代码部分抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常,也没有返回结果I except。 更让我惊讶的是,当我稍微改变第一种方法的代码时,它可以在不产生异常的情况下工作。 我不知道println方
为什么我得到一个空的输出?当我删除xml中的xmlns部分时,输出是预期的,但是intellisense不再工作了。 仓库xml 仓库xsl
问题内容: 我在GregorianCalendar类中遇到一个奇怪的行为,我想知道我是否真的做得不好。 仅当初始化日期的月份的实际Maximum大于我将日历设置为的月份时,才追加此值。 这是示例代码: 我知道问题是由于日历初始化日期是31天(可能是5月),与设置为2月(28天)的月份混淆了。修复很容易(只需在设置年和月之前将day_of_month设置为1),但是我想知道这确实是想要的行为。有什么
问题内容: 我正在为一个问题而苦苦挣扎,我不明白为什么它不起作用。如何通过将变量传递并转换为? 为什么在顶部代码段中不起作用,但在行下方的底部代码段中起作用? 唯一的区别似乎是添加了一个额外的变量,该变量也被键入为? 问题答案: 该是一种原始类型,同时是一个普通的Java类。您不能在原始类型上调用方法。但是该方法在上可用,如javadoc中所示 有关这些原始类型的更多信息,请参见此处
问题内容: 为什么的到哪里去了? 问题答案: 删除任何字符,并从字符串的开头和结尾。
问题内容: 我认为这是一个正常程序,但这是我得到的输出: 有人可以向我解释一下吗? 问题答案: 这是有据可查的PHP行为,请参阅php.net的foreach页面上的警告。 警告 即使在 foreach 循环之后,仍保留 $ value的 引用和最后一个数组元素。建议通过unset()销毁它。 __ 编辑 尝试逐步了解此处实际发生的情况