찾다

 >  Q&A  >  본문

android - Java后台把数据用json发到手机端,里面是map存放的,必须要说明数据的类型?

               List<HashMap> reList = new ArrayList<HashMap>();
                      for(int i=0;i<bjdList.size();i++){
                          Zqwl_yd_jdxx bjd = bjdList.get(i);
                          HashMap temp = new HashMap();
                          temp.put("id",bjd.getId());
                          temp.put("yd_number",bjd.getYd_number());
                          temp.put("status",bjd.getStatus());
                          reList.add(temp);
                      }
                
                 str = JSONValue.toJSONString(reList);
                 response.getWriter().write(str);

我写后台的接口,ios的程序员说必须标注每一个值得类型(string int 。。。)Android的程序员就不用?转正json返回之后不都是字符串了吗?为什么还要标注出int类型?

PHPzPHPz2893일 전398

모든 응답(9)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-18 09:17:18

    약정이므로 양측의 합의가 필요합니다. 인터페이스 문서 설명이 있는 것이 가장 좋습니다. json은 단순한 문자열이지만 그 안의 값은 다른 유형이라고 합니다. json 데이터 유형(그러나 반드시 백엔드가 원래 제공하려고 했던 데이터 유형은 아닙니다. 예를 들어, float 유형에서는 double을 사용하여 얻습니다. 높은 정밀도가 필요하지 않은 값에는 차이가 없으며 iOS는 더 엄격하게 생각하고 정확한 값 유형을 결정하고 싶을 수도 있습니다. 이때 통일해야 합니다. 그렇지 않으면 앞으로 문제가 있는지 알 수 없습니다.

    회신하다
    0
  • PHPz

    PHPz2017-04-18 09:17:18

    json은 단순한 문자열입니다.
    아니요, iOS 프로그래머들과 연결하면 그런 문제는 없습니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:17:18

    표시는 필요없습니다~

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:17:18

    표시해 주시는 것이 맞을 것 같습니다.
    프로그램 충돌을 일으키는 NSNumber 및 NSString 문제가 발생했습니다.

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 09:17:18

    실제로 JSON에는 유형이 있습니다. 확장된 ""는 문자열입니다. "value":"1"과 "value":1은 다릅니다.
    물론 IOS에서는 표시해야 한다고 하지만 그렇지 않습니다. 그는 그것을 처리하고 싶지 않습니다. 그는 배경이 그것을 처리하고 Android가 당신을 위해 그것을 직접 처리할 수 있기를 바랍니다.

    누가 옳고 그른지는 중요하지 않지만 누가 더 많은 일을 하려는 의지가 있는 사람인지는 중요하지 않습니다.

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-18 09:17:18

    이 문제의 핵심은 JSON 형식의 정의를 정확하게 이해하는 것입니다
    JSON의 제어 문자
    {키-값 쌍 컨테이너의 시작(이름/값 쌍의 모음)
    } 키- 값 쌍 컨테이너의 끝
    [배열 컨테이너의 시작
    ] 배열 컨테이너의 끝
    : 키-값 쌍 구분 기호
    " 문자열의 시작 또는 끝
    , 컨테이너 내부 구분 기호
    JSON의 값 유형
    공식 웹사이트의 원본 텍스트는 큰따옴표로 묶인 임의의 수의 유니코드 문자 모음입니다. string은 문자 '0' 또는 '9'로 시작하는 NSString 객체
    번호로 OC에서 표현됩니다. 원래 공식 웹사이트에서는 사용되지 않는 8진수 및 16진수 형식을 제외하고 OC에서 NSNumber 객체로 표현됩니다. OC에서 NSDictionary로 표현되는 객체 유형
    정렬된 값 목록(순서가 지정된 값 목록), 일반적으로 배열로 알려져 있으며 OC에서 NSArray로 표현
    null null 객체, 빈 객체, OC의 성능 NSNull
    bool true/false입니다. OC에는 Boolean 객체가 없으므로 OC의 성능은 NSNumber
    입니다.

    제 팟캐스트를 시청하실 수 있습니다

    http://cocoa1024.com/2016/03/31/stackjson/

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:17:18

    Json은 단지 형식일 뿐 수신할 때는 문자열로 처리할 수 있지만 구문 분석할 때는 값을 입력합니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:17:18

    oia 문서는 어떻습니까? oia가 없다면 최소한 json 스키마는 있어야 합니다

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-18 09:17:18

    필요없습니다. 지도를 직접 파싱할 수도 있습니다

    {"아아아,bbb";"아아아,bbb"}

    으아악

    회신하다
    0
  • 취소회신하다