You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.9 KiB

/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
package android.jsonpb;
// Note: this file explicitly uses names that does NOT follow the Protobuf Style
// Guide for testing purposes. When writing a .proto file as a JSON schema, you
// should:
// - Follow the Protobuf Style Guide for field names / enum value names
// - If the JSON file is going to have field names that does not conform to the
// Protobuf Style Guide (a.k.a lower_snake_case), use json_name option to
// indicate an alternative name.
// - If the JSON file is going to have enum value names that does not conform to
// the Protobuf Style Guide (a.k.a CAPITALIZED_SNAKE_CASE), use strings.
message WithJsonName {
string foo_bar = 1 [json_name = "FOOBAR"];
string barBaz = 2 [json_name = "BarBaz"];
string BazQux = 3 [json_name = "baz_qux"];
string QUX_QUUX = 4 [json_name = "quxQuux"];
}
message NoJsonName {
string foo_bar = 1;
string barBaz = 2;
string BazQux = 3;
string QUX_QUUX = 4;
}
message Parent {
repeated WithJsonName repeated_with_json_name = 1;
WithJsonName with_json_name = 2;
repeated NoJsonName repeated_no_json_name = 3;
NoJsonName no_json_name = 4;
}
message Scalar {
int32 i32 = 1;
sint32 si32 = 2;
int64 i64 = 3;
sint64 si64 = 4;
float f = 5;
double d = 6;
enum Enum {
DEFAULT = 0;
FOO = 1;
}
Enum e = 7;
}