GVKun编程网logo

菜鸟提问:JsonReader 处理返回值的问题(jsonreader.setlenient)

17

针对菜鸟提问:JsonReader处理返回值的问题和jsonreader.setlenient这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展.netCoreAJAX使用Header传递参数

针对菜鸟提问:JsonReader 处理返回值的问题jsonreader.setlenient这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展.net Core AJAX 使用 Header 传递参数,以 JsonResult 返回信息、.NET MyMVC框架处理返回值的教程、Android 之 json数据的解析(jsonReader)、android 菜鸟提问 关于同一个页面多个接口返回值问题 请勿喷等相关知识,希望可以帮助到你。

本文目录一览:

菜鸟提问:JsonReader 处理返回值的问题(jsonreader.setlenient)

菜鸟提问:JsonReader 处理返回值的问题(jsonreader.setlenient)

下面是一个手机号码显示为 * 的处理函数。有问题吗?

{name: ''CorporatePhone'', mapping: ''Mobile'',convert:function(v,record){return "***********";}}

怎么好像没反应啊。

.net Core AJAX 使用 Header 传递参数,以 JsonResult 返回信息

.net Core AJAX 使用 Header 传递参数,以 JsonResult 返回信息

function postHeader()

{

    $.ajax({

          url : "/myTest/PostHeader?time="+ (new date()).getTime(),

          beforeSend :function (xhr){

                     xhr.setRequestHeader("myValue ","aaa");

            },

            type:"Get",

            success:function(data)

             {

                     alert(data);

              }

    });

}

 

 

 

 

public IActionResult GetAjaxValue([FromHeader] string  myValue )

{

     // JsonResult jr=new JsonResult (new { Name="张三",value=MyValue});

     // return jr;

    return Json (new { Name="张三",value=MyValue});  // 效果和上面一样

}

 

.NET MyMVC框架处理返回值的教程

.NET MyMVC框架处理返回值的教程

mymvc框架处理返回值的时机是在executeaction方法中(前面有那段代码)。
这里只做个简单的补充说明。

我为Action的结果定义了一个接口:

public interface IActionResult{    void Ouput(HttpContext context);}
登录后复制

框架内实现了4种ActionResult:

/// <summary>
/// 表示一个用户控件结果(用户控件将由框架执行)/// </summary>public sealed class UcResult : IActionResult/// <summary>
/// 表示一个重定向的结果/// </summary>public sealed class RedirectResult : IActionResult/// <summary>
/// 一个Json对象结果/// </summary>public sealed class JsonResult : IActionResult/// <summary>
/// 表示一个页面结果(页面将由框架执行)/// </summary>public sealed class PageResult : IActionResult
登录后复制

要输出返回值的时候,不仅使用了IActionResult接口,我还使用下面这个调用:

context.Response.Write(result.ToString());
登录后复制

不要小看了ToString()的调用。
对于自定义的数据类型来说,可以用它来控制最终输出给客户端的是JSON或者是XML, 或者是您自己定义的文本序列化格式(比如:特殊分隔符拼接而成), 因此,它有足够的能力可以取代JsonResult类型,而且同样不影响Action的单元测试。
ToString()的强大原因在于它是个虚方法,可以被派生类重写。

所以,如果您只打算返回一个数据实体对象给客户端,那么既可以实现IActionResult接口,还可以重写ToString方法。

【相关推荐】

1. 特别推荐:“php程序员工具箱”V0.1版本下载

2. ASP免费视频教程

3. 入门级的.NET MVC 实例

4. MyMVC框查找Action的过程详解

5. .NET MyMVC框架执行Action的过程详解

6. .NET MyMVC框架如何给方法赋值的教程

以上就是.NET MyMVC框架处理返回值的教程的详细内容,更多请关注php中文网其它相关文章!

Android 之 json数据的解析(jsonReader)

Android 之 json数据的解析(jsonReader)

json数据的解析相对而言,还是比较容易的,实现的代码也十分简单。这里用的是jsonReade方法来进行json数据解析。

 

1.在解析之前,大家需要知道什么是json数据。

 

json数据存储的对象是无序的“名称/值”对的集合。和其他的数据存储方式相比,json数据的可读性,可扩展性,编码难度,解码难度都有一定的优势。在json数据中,

 

对于一个对象:

1)一个对象以“{”(左括号)开始,“}”(右括号)结束。

2)每个“名称”后跟一个“:”(冒号);

3)“‘名称/值’ 对”之间使用“,”(逗号)分隔。

 

对于一个数组:

 

1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。

2)值之间使用“,”(逗号)分隔。

 

下面是android官方给出的一组json数据示例:

[
   {
     "id": 912345678901,
     "text": "How do I read JSON on Android?",
     "geo": null,
     "user": {
       "name": "android_newb",
       "followers_count": 41
      } 
   },
   {
     "id": 912345678902,
     "text": "@android_newb just use android.util.JsonReader!",
     "geo": [50.454722, -104.606667],
     "user": {
       "name": "jesse",
       "followers_count": 2
     }
   }
 ]

 

在代码中,如果直接定义json数据,需要在代码中对 使用 \ 转义。上面json在代码中的形式为:(在java代码中,创建一段json数据,“ 符号需要转义)

private String jsonDate = "["
            + "{\"id\": 912345678901,"
            + "\"text\":\"How do I read JSON on Android?\","
            + "\"geo\":null,"
            + "\"user\":{\"name\":\"android_newb\",\"followers_count\":41}},"
            + "{\"id\": 912345678902,"
            + "\"text\":\"@android_newb just use android.util.JsonReader!\","
            + "\"geo\":[50.454722,-104.606667],"
            + "\"user\":{\"name\":\"jesse\",\"followers_count\":2}}"
            + "]";

 

1. 使用JsonReader方法解析Json数据对象,你需要创建一个JsonReader对象.

 

2.然后使用beginArray()来开始解析 [ 左边的第一个数组。

 

3.再使用beginObject()来开始解析数组{中的第一个对象。

 

4.对于直接的数据可以直接得到解析到的数据,但对于在json中嵌套了数组的数据,需要在写一个解析方法。

 

5.在解析完成后,别忘用endArray(),endObject()来关闭解析。

 

package com.mecury.jsontest;
 
import java.io.IOException;
import java.io.StringReader;
import android.util.JsonReader;
import android.util.JsonToken;
public class JsonUtils {
 
    public void parseJson(String jsonDate) throws IOException{
            //创建JsonReader对象
            JsonReader jsReader = new JsonReader(new StringReader(jsonDate));
            jsReader.beginArray();
            while (jsReader.hasNext()) {
                readMessage(jsReader);
            }
            jsReader.endArray();
   
    }
   
        public void readMessage(JsonReader jsReader) throws IOException{
            jsReader.beginObject();
            while(jsReader.hasNext()){
                String tagName = jsReader.nextName();
                if (tagName.equals("id")) {
                    System.out.println("name:"+jsReader.nextLong());
                }else if (tagName.equals("text")) {
                    System.out.println("text:"+jsReader.nextString());
                }else if (tagName.equals("geo") && jsReader.peek()!=JsonToken.NULL) {
                    readDoubleArray(jsReader);
                }else if (tagName.equals("user")) {
                    readUser(jsReader);
                }else {
                    //跳过当前值
                    jsReader.skipValue();
                    System.out.println("skip======>");
                }
            }
            jsReader.endObject();
        }
        //解析geo中的数据
        public void readDoubleArray(JsonReader jsReader) throws IOException{
            jsReader.beginArray();
            while(jsReader.hasNext()){
                System.out.println(jsReader.nextDouble());
            }
            jsReader.endArray();
        }
        //由于读取user中的数据
        public void readUser(JsonReader jsReader) throws IOException{
        String userName = null;
        int followsCount = -1;
        jsReader.beginObject();
        while (jsReader.hasNext()) {
            String tagName = jsReader.nextName();
            if (tagName.equals("name")) {
                userName = jsReader.nextString();
                System.out.println("user_name:"+ userName);
            }else if (tagName.equals("followers_count")) {
                followsCount = jsReader.nextInt();
                System.out.println("followers_count:"+followsCount);
            }
        }
        jsReader.endObject();
    }
}

 

对上面的内容解析的输出:

11-22 06:59:52.441: I/System.out(5329): name:912345678901
11-22 06:59:52.441: I/System.out(5329): text:How do I read JSON on Android?
11-22 06:59:52.461: I/System.out(5329): skip======>
11-22 06:59:52.461: I/System.out(5329): user_name:android_newb
11-22 06:59:52.471: I/System.out(5329): followers_count:41
11-22 06:59:52.481: I/System.out(5329): name:912345678902
11-22 06:59:52.491: I/System.out(5329): text:@android_newb just use android.util.JsonReader!
11-22 06:59:52.500: I/System.out(5329): 50.454722
11-22 06:59:52.500: I/System.out(5329): -104.606667
11-22 06:59:52.510: I/System.out(5329): user_name:jesse
11-22 06:59:52.510: I/System.out(5329): followers_count:2

 

以上!另外对APP进行在线全方位的安全性、兼容性测试,我都会用这个:www.ineice.com

 


android 菜鸟提问 关于同一个页面多个接口返回值问题 请勿喷

android 菜鸟提问 关于同一个页面多个接口返回值问题 请勿喷

各位大神:

             问题是这样的,在 loading 页面,调用了多个接口(并行的),当多个接口都返回后,就跳转到下一个页面,按照我的理解,我判断 3 个接口的返回值都有了后,我就可以跳转到下一个页面,但同事说,他返回值用的 handler 就一个实例,如果发生同时返回结果,都去处理一个对象时,怎么办?个人觉得这个情况应该是不会发生的吧?


             请问这个情况可能发生吗?另外对于多 接口返回值,跳转下一页面,各位都是怎么处理的呢?

关于菜鸟提问:JsonReader 处理返回值的问题jsonreader.setlenient的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于.net Core AJAX 使用 Header 传递参数,以 JsonResult 返回信息、.NET MyMVC框架处理返回值的教程、Android 之 json数据的解析(jsonReader)、android 菜鸟提问 关于同一个页面多个接口返回值问题 请勿喷的相关知识,请在本站寻找。

本文标签: